Golang:在报告格式错误时从标准输入读取整数直到 EOF

nums := make([]int, 0)

{

    var d int

    for {

        _, err := fmt.Scan(&d)

        if err != nil {

            break

        }


        nums = append(nums, d)

    }

}

这适用于从标准输入读取整数。但是如果 stdin 看起来像1 2 3 f4 5,nums最终将[1 2 3]不会报告任何错误。


处理这个问题的最佳方法是什么?(即,我希望 EOF fromfmt.Scan以静默方式退出循环,但应报告所有其他错误)。


编辑:这io.EOF就是我所需要的——我没有在http://golang.org/pkg/fmt/ 上找到记录


nums := make([]int, 0)

{

    var d int

    for {

        _, err := fmt.Scan(&d)

        if err != nil {

            if err != io.EOF {

                log.Fatal(err)

            }

            break

        }


        nums = append(nums, d)

    }

}


一只斗牛犬
浏览 337回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go