bufio获取用户输入

149 阅读1分钟

在常用的获取用户输入中,用fmt包里面的Scanln时如果输入了空格就得不到我们想要输入的值了,使用bufio包里面的函数可以避免这一问题。

下面举个例子:

func main() {
   var s string
   fmt.Scanln(&s)
   fmt.Printf("%s",s)
}

当输入含有空格时:

image.png只能打印出第一个字符

如果使用bufio:

var s string
reader := bufio.NewReader(os.Stdin)
s, _ = reader.ReadString('\n') // 一直读到换行符
fmt.Printf("%s", s)

image.png全部都可以获取并打印出来