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.
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")
}
}
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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3