Avatar ·

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