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 ?

Comment lire des chaînes séparées par des espaces à partir d'une entrée utilisateur dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 07:48:01516parcourir

How to Read Space-Separated Strings from User Input in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn