scan、scanf、scanln在输入时,都会以空格作为一个字符串的结束
在C和C++中我们直接可以调用自带库函数来实现,比如C可以使用gets()函数、C++可以使用getLine()函数。但是在go中需要引入第三方库来完成对带有空格的字符串的接受。
bufio库
使用bufio包里带缓冲的Reader实现带空格字符串的输入,实例代码如下:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
res, _, err := reader.ReadLine()
if nil != err {
fmt.Println("reader.ReadLine() error:", err)
}
fmt.Println(string(res))
}