golang 中的一个bug

stvenyin · · 1562 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

提示 如果你是Windows系统,在使用 Scanf 时,有一个地方需要注意。看下面的代码: for i := 0; i < 2; i++ { var name string fmt.Print("Input Name:") n , err := fmt.Scanf("%s", &name) fmt.Println(n, err, name) } 编译 、运行(或直接 go run ),输入:polaris回车。控制台内如下: Input Name:polaris 1 <nil> polaris Input Name:0 unexpected newline 为什么不是让输入两次?第二次好像有默认值一样。 同样的代码在Linux下正常。个人认为这是go在Windows下的一个bug,已经向官方提出:issue5391。 目前的解决方法是:换用Scanln或者改为Scanf(“%s\n”, &name) End.

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1562 次点击  
加入收藏 微博
4 回复  |  直到 2018-12-21 12:05:22
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传