Heim > Backend-Entwicklung > Golang > Wie kann ich mit Go die Datenverfügbarkeit in der Standardeingabe (Stdin) überprüfen?

Wie kann ich mit Go die Datenverfügbarkeit in der Standardeingabe (Stdin) überprüfen?

Linda Hamilton
Freigeben: 2024-11-03 13:11:30
Original
952 Leute haben es durchsucht

How Can I Check for Data Availability in Standard Input (Stdin) Using Go?

Überprüfen der Datenverfügbarkeit in der Standardeingabe (Stdin) mit Go

In Go stellt das Betriebssystempaket die Variable os.Stdin für den Zugriff bereit Standard-Eingabestream. Dieser Stream kann jedoch manchmal blockieren, wenn keine Daten zum Lesen verfügbar sind. Um festzustellen, ob Daten im Eingabestream vorhanden sind, kann os.Stdin wie eine Datei behandelt und ihre Größe überprüft werden.

Lösung:

Wie os. Stdin verhält sich wie eine Datei, seine Stat()-Methode kann zum Abrufen von Dateiinformationen, einschließlich ihrer Größe, verwendet werden. Hier ist ein Beispiel:

<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:

Dieser Code kann als ausführbare Datei „Pipe“ verwendet werden:

<code class="bash">$ ./pipe
Stdin is empty
$ echo test | ./pipe
5 bytes available in Stdin</code>
Nach dem Login kopieren

In In der ersten Zeile wird die ausführbare Pipe-Datei ohne Eingabe ausgeführt, was zu einer leeren Standardeingabe und der Ausgabe „Stdin ist leer“ führt. In der zweiten Zeile wird der Text „test“ in die Eingabe geleitet, wodurch sich die Größe von Stdin erhöht und die Ausgabe sich in „5 Bytes verfügbar in Stdin“ ändert.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Go die Datenverfügbarkeit in der Standardeingabe (Stdin) überprüfen?. 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