Avatar ·

Wie lese ich Tastatureingaben (Standardeingabe) in der Konsole in Go?

Ich habe gerade angefangen, Go zu lernen, und habe ein einfaches, aber wichtiges Problem. Ich muss ein Programm schreiben, das den Benutzer nach Namen und Alter fragt und dann eine Begrüßung ausgibt. Aber ich verstehe nicht, wie man richtig eine Zeichenkette oder Zahl aus der Konsole liest.\n\nIn anderen Sprachen (z.B. Python) habe ich einfach `input()` verwendet, und in C++ `cin`. In Go sehe ich viele Möglichkeiten: `bufio`, `fmt.Scan`, `os.Stdin`, und das verwirrt mich. Ich habe die offensichtlichste Variante ausprobiert:\n\n```go\npackage main\n\nimport "fmt"\n\nfunc main() {\n var name string\n fmt.Print("Geben Sie den Namen ein: ")\n fmt.Scan(&name)\n fmt.Println("Hallo,", name)\n}\n```\n\nAber wenn ich "Ivan Ivanov" eingebe, gibt das Programm nur "Hallo, Ivan" aus, und das zweite Wort geht verloren. Außerdem verstehe ich nicht, wie man eine Zahl liest und Fehler behandelt.