Heim > Artikel > Backend-Entwicklung > Wie überprüfe ich, ob Stdin Daten in Go hat?
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!