Comment lire à partir du stdin initial dans Go
Dans Go, la lecture à partir du stdin initial d'un programme peut être réalisée à l'aide du système d'exploitation. Interface standard. Cependant, s'il n'y a aucune entrée dans os.Stdin, le programme attendra une entrée.
Solution :
L'approche recommandée consiste à utiliser os.Stdin tel quel fournit une méthode simple et fiable pour lire à partir du stdin d'origine. Pour utiliser os.Stdin, appelez simplement la fonction io.ReadAll() pour lire tous les octets de l'entrée.
Voici un exemple :
package main import "os" import "log" import "io" func main() { bytes, err := io.ReadAll(os.Stdin) log.Println(err, string(bytes)) }
Lorsqu'il est exécuté avec echo test stdin | allez exécuter stdin.go, ce code imprimera le test stdin.
Pour la lecture par ligne, le bufio.Scanner peut être utilisé :
import "os" import "log" import "bufio" func main() { s := bufio.NewScanner(os.Stdin) for s.Scan() { log.Println("line", s.Text()) } }
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!