如何在 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中正确并可靠地从标准输入读取数据?我需要包含空格的字符串和数字的示例。