Maison > Article > développement back-end > Comment vérifier si Stdin a des données en Go ?
Comment savoir si Stdin contient des données avec Go
Lorsque vous travaillez avec des flux d'entrée dans Go, vous pouvez rencontrer des situations où vous devez déterminer si os.Stdin dispose de données disponibles. Cela peut être utile dans divers scénarios, par exemple pour décider s'il faut procéder à la lecture d'une saisie ou afficher une invite à l'utilisateur.
Solution :
os.Stdin peut être traité comme n’importe quel autre descripteur de fichier dans Go. Pour vérifier s'il contient des données, vous pouvez examiner sa taille :
<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>
Utilisation :
Vous pouvez compiler ce code dans un exécutable et l'utiliser comme un tuyau :
$ ./pipe Stdin is empty $ echo test | ./pipe 5 bytes available in Stdin
Cet exemple démontre que lorsqu'aucune donnée n'est transmise vers stdin, le programme signale un stdin vide, et lorsque des données sont transmises, il indique correctement les octets disponibles.
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!