Comment lire une entrée clavier (entrée standard) dans la console en Go ?
Je viens de commencer à apprendre Go, et j'ai un problème simple mais important. J'ai besoin d'écrire un programme qui demande à l'utilisateur son nom et son âge, puis affiche un message de bienvenue. Mais je n'arrive pas à comprendre comment lire correctement une chaîne ou un nombre depuis la console.
Dans d'autres langages (par exemple Python), j'utilisais simplement `input()`, et en C++ — `cin`. En Go, je vois de nombreuses façons : `bufio`, `fmt.Scan`, `os.Stdin`, et cela me perturbe. J'ai essayé l'option la plus évidente :
```go
package main
import "fmt"
func main() {
var name string
fmt.Print("Введите имя: ")
fmt.Scan(&name)
fmt.Println("Привет,", name)
}
```
Mais quand je saisis "Иван Иванов", le programme n'affiche que "Привет, Иван", et le deuxième mot est perdu. Je ne comprends pas non plus comment lire un nombre et gérer les erreurs si l'utilisateur saisit des lettres au lieu de chiffres. Veuillez m'indiquer comment lire correctement et de manière fiable les données depuis l'entrée standard en Go. J'ai besoin d'exemples pour les chaînes (avec espaces) et pour les nombres.