go 语言文件操作:读取用户的输入 | go 技术论坛-jiuyou九游娱乐官方
使用golang读取用户的输入有以下几种办法
1 使用bufio包
基本思路就是使用bufio.newreader将新建一个标准输入的buffer,获取到buffer句柄就可以,使用reader所绑定的方法去获取用户输入
代码示例
func main() {
    //创建一个用户输入的buffer
    inputbuff := bufio.newreader(os.stdin)
    //循环读取用户输入
    for {
        userinput, err := inputbuff.readstring('\n')
        if nil != err {
            log.println(err)
            return
        }
        fmt.println("用户输入:", userinput[:len(userinput)-1])
        if userinput == "break" {
            break
        }
    }
    log.println("exit...")
}运行结果
ps d:\gopractice\mping> go run .\main.go
hello
用户输入: hello
world
用户输入: world
hello world
用户输入: hello world
break
#这里没有退出循环,是由于代码中userinput的值是break\n,所以没有退出
用户输入: break2 使用fmt包
可以使用fmt.scan, fmt.scanf, fmt.scanln, 不过使用过程中有所限制,可以根据需求使用,例子以fmt.scanf来演示
代码示例
func main() {
    //循环获取用户输入
    for {
        userinput := ""
        fmt.scanf("%s", &userinput)
        fmt.println("1用户输入:", userinput)
    }
}运行结果
#从运行结果上来看,可以看出用fmt.scanf来获取字串,是以空白字符来分割
ps d:\gopractice\mping> go run .\main.go
hello
1用户输入: hello
1用户输入:
hello world
1用户输入: hello
1用户输入: world
1用户输入:参考:
结尾
可能还有更多办法,但是笔者暂时没有去深度探究,这里的两种是笔者之前学习go语言的时候掌握,这里提了个大概,有兴趣的小伙伴后续可以继续补充。
 go 社区 wiki
 go 社区 wiki
    