Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überprüfe ich, ob Stdin Daten in Go hat?

Wie überprüfe ich, ob Stdin Daten in Go hat?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-02 04:08:02784Durchsuche

How to Check if Stdin Has Data in Go?

So finden Sie heraus, ob Stdin Daten mit Go hat

Bei der Arbeit mit Eingabestreams in Go kann es vorkommen, dass Sie auf Situationen stoßen, in denen dies erforderlich ist Stellen Sie fest, ob in os.Stdin Daten verfügbar sind. Dies kann in verschiedenen Szenarien nützlich sein, z. B. bei der Entscheidung, ob mit dem Lesen der Eingabe fortgefahren werden soll oder bei der Anzeige einer Eingabeaufforderung für den Benutzer.

Lösung:

os.Stdin kann sein wird wie jeder andere Dateideskriptor in Go behandelt. Um zu überprüfen, ob Daten vorhanden sind, können Sie seine Größe untersuchen:

<code class="go">package main

import (
    "fmt"
    "os"
)

func main() {
    file := os.Stdin
    fi, err := file.Stat()
    if err != nil {
        fmt.Println("file.Stat()", err)
    }
    size := fi.Size()
    if size > 0 {
        fmt.Printf("%v bytes available in Stdin\n", size)
    } else {
        fmt.Println("Stdin is empty")
    }
}</code>

Verwendung:

Sie können diesen Code in eine ausführbare Datei kompilieren und ihn wie eine Pipe verwenden :

$ ./pipe
Stdin is empty
$ echo test | ./pipe
5 bytes available in Stdin

Dieses Beispiel zeigt, dass das Programm einen leeren stdin meldet, wenn keine Daten in stdin weitergeleitet werden, und wenn Daten eingespeist werden, werden die verfügbaren Bytes korrekt angezeigt.

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob Stdin Daten in Go hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn