Avatar ·

如何在 Go 中从键盘读取输入(标准输入)到控制台?

我刚开始学习Go,遇到一个简单但重要的问题。我需要编写一个程序,询问用户的姓名和年龄,然后输出问候语。但我不知道如何正确地从控制台读取字符串或数字。 在其他语言中(例如Python),我只需使用`input()`,而在C++中则是`cin`。但在Go中,我看到很多方法:`bufio`、`fmt.Scan`、`os.Stdin`,这让我感到困惑。我试过最直观的方式: ```go package main import "fmt" func main() { var name string fmt.Print("请输入姓名: ") fmt.Scan(&name) fmt.Println("你好,", name) } ``` 但是当我输入"伊万 伊万诺夫"时,程序只打印"你好, 伊万",第二个词丢失了。此外,我也不知道如何读取数字并处理错误,如果用户输入了字母而不是数字。请告诉我如何在Go中正确并可靠地从标准输入读取数据?我需要包含空格的字符串和数字的示例。