Maison > Article > développement back-end > Existe-t-il un moyen de vérifier si l'entrée standard (os.Stdin) dans Go contient des données sans blocage ?
Dans Go, existe-t-il un moyen fiable de vérifier si le flux d'entrée (OS .Stdin) contient des données ?
L'approche conventionnelle consistant à lire à partir du flux se bloque lorsqu'aucune donnée n'est disponible, ce qui la rend peu pratique pour certaines utilisations cas.
Semblable à d'autres fichiers, os.Stdin peut être inspecté pour déterminer sa taille, offrant une méthode pratique pour la détection de la disponibilité des données.
<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>
Par en utilisant cette technique, vous pouvez faire la distinction entre les entrées stdin vides et non vides, permettant une gestion plus flexible de la disponibilité des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!