Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erkennt man die Datenverfügbarkeit in der Standardeingabe (Stdin) von Go?

Wie erkennt man die Datenverfügbarkeit in der Standardeingabe (Stdin) von Go?

Susan Sarandon
Susan SarandonOriginal
2024-11-01 11:17:02447Durchsuche

How to Detect Data Availability in Go's Standard Input (Stdin)?

Erkennen der Datenverfügbarkeit in der Standardeingabe (Stdin) mit Go

In Go kann der Standardeingabestream (os.Stdin) mithilfe der Technik auf Daten überprüft werden Überprüfung der Dateigröße. So funktioniert es:

Die os.Stdin kann wie jede normale Datei behandelt werden, sodass wir ihre Eigenschaften untersuchen können. Dazu rufen wir mit os.Stdin.Stat() ein FileInfo-Objekt ab. Dieses Objekt stellt verschiedene Informationen über die Datei bereit, einschließlich ihrer Größe.

Durch die Überprüfung der Dateigröße können wir feststellen, ob der Stdin-Stream Daten enthält. Wenn seine Größe größer als Null ist, zeigt dies das Vorhandensein von Daten an. Umgekehrt zeigt eine Größe von Null an, dass Stdin leer ist.

Unten finden Sie ein Codebeispiel, das diese Methode demonstriert:

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

Diese Technik bietet eine effektive Möglichkeit, um festzustellen, ob os.Stdin leer ist Daten, ohne die Ausführung des Programms zu blockieren, während es auf Eingaben wartet. Dies kann besonders nützlich sein, wenn Sie eingehende Daten aus externen Quellen oder Prozessen dynamisch verarbeiten müssen.

Das obige ist der detaillierte Inhalt vonWie erkennt man die Datenverfügbarkeit in der Standardeingabe (Stdin) von Go?. 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