我正在尝试使用标准的“fmt”包从 stdin 扫描一些命令
然而,似乎 scanf 在第一个空格后停止。知道我该如何解决吗?
var in string
for err != nil {
_, err = fmt.Scanf("%s", &in)
}
fmt.Println(in)
Run Code Online (Sandbox Code Playgroud)
我发现我需要的是bufio.Scan包
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
return scanner.Text()
}
if err := scanner.Err(); err != nil {
fmt.Fprintln(os.Stderr, "reading standard input:", err)
}
Run Code Online (Sandbox Code Playgroud)