„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie erkennt man die Datenverfügbarkeit in der Standardeingabe (Stdin) von Go?

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

Veröffentlicht am 08.11.2024
Durchsuche:166

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 Überprüfen 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:

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")
    }
}

Diese Technik bietet eine effektive Möglichkeit, festzustellen, ob os.Stdin über Daten verfügt, 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.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3