Comment lire les données depuis l'entrée standard (stdin) dans une application console en Go ?
Bonjour à tous ! Je viens de commencer à apprendre Go et j'écris un simple utilitaire console. J'ai besoin que le programme demande à l'utilisateur son nom et son âge, puis affiche un message de bienvenue. Mais je n'arrive pas à comprendre comment lire correctement la chaîne que l'utilisateur saisit dans le terminal.
J'ai essayé d'utiliser `fmt.Scan()`, mais il semble ne lire que jusqu'au premier espace. Si je saisis "Ivan Petrov", seul "Ivan" est lu. Et si j'ai besoin de lire une chaîne entière avec des espaces ? Ou un nombre ?
Voici mon code actuel, qui ne fonctionne pas comme prévu :
```go
package main
import "fmt"
func main() {
var name string
var age int
fmt.Print("Entrez votre nom : ")
fmt.Scan(&name) // Problème : lit seulement jusqu'à l'espace
fmt.Print("Entrez votre âge : ")
fmt.Scan(&age)
fmt.Printf("Bonjour, %s ! Tu as %d ans.\n", name, age)
}
```
Si je saisis "Anna 25", le programme se termine immédiatement sans attendre la deuxième saisie et affiche quelque chose d'étrange. Comment lire correctement les chaînes, ch
No answers yet.
Connectez-vous pour laisser une réponse