Maison >développement back-end >Golang >Comment lire des chaînes séparées par des espaces à partir d'une entrée utilisateur dans Go ?
Analyse de chaînes séparées par des espaces à l'aide de fmt.Scanln
Lorsque vous essayez de lire une chaîne à partir d'une entrée utilisateur contenant plusieurs mots séparés par des espaces, fmt.Scanln peut renvoyer uniquement le premier mot. Pour résoudre ce problème :
Comprendre fmt.Scanln
fmt.Scanln fonctionne de la même manière que fmt.Scan, mais termine l'analyse lorsqu'il rencontre un caractère de nouvelle ligne. Le caractère de nouvelle ligne doit suivre le dernier élément ou il doit y avoir un indicateur EOF (End-of-File).
Utiliser Scanln pour lire des chaînes séparées par des espaces
Pour lire avec succès des chaînes séparées par des espaces, spécifiez plusieurs variables dans l'appel fmt.Scanln :
<code class="go">var s1 string var s2 string fmt.Scanln(&s1, &s2)</code>
Cette approche attribue le premier mot à s1 et le second à s2.
Alternative Approche utilisant bufio.Scanner
Une autre option consiste à utiliser bufio.Scanner :
<code class="go">scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { s := scanner.Text() fmt.Println(s) }</code>
Ici, le scanner parcourt l'entrée standard et imprime chaque ligne d'entrée.
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!