分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
提示
如果你是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
关注微信1956 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传