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

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

Mary-Kate Olsen
Freigeben: 2024-11-02 04:08:02
Original
898 Leute haben es durchsucht

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>
Nach dem Login kopieren

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
Nach dem Login kopieren

Dieses Beispiel zeigt, dass das Programm einen leeren Standard meldet, wenn keine Daten in stdin weitergeleitet werden, und wenn Daten weitergeleitet werden in 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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage