怎么使用fmt.Scan()和fmt.Scanf()循环输入?

zhj9709 · 2019-04-16 23:26:56 · 1496 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2019-04-16 23:26:56 的主题,其中的信息可能已经有所发展或是发生改变。

实现类似这种:

while(scanf("%d %d", &a, &b)!=EOF)


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

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

1496 次点击  
加入收藏 微博
3 回复  |  直到 2019-04-18 11:19:58
xiaobaiskill
xiaobaiskill · #1 · 6年之前

像这样吗?

for {
        var input string
        fmt.Print("请输入:")
        fmt.Scanf("%s\n",&input)
        if input == ""{
            break
        }
        fmt.Println(input)
    }
zhj9709
zhj9709 · #2 · 6年之前

1楼 @xiaobaiskill

var a, b int
for {
    _, err = fmt.Scan(&a, &b)
    if err == io.EOF {
        break
    }
}

我现在这样可以,不知道这个判断有没有问题

xiaobaiskill
xiaobaiskill · #3 · 6年之前

@zhj9709

var a, b int
for {
    n, err := fmt.Scan(&a, &b)
    if n > 0{
        fmt.Println(a,b)
    }
    if err == io.EOF {
        break
    }
}
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传