nums := make([]int, 0)
{
var d int
for {
_, err := fmt.Scan(&d)
if err != nil {
break
}
nums = append(nums, d)
}
}
これは、stdin から int を読み取るために機能します。しかし、 stdin が のように見える場合1 2 3 f4 5
、はエラーを報告せずnums
に終了します。[1 2 3]
これを処理する最良の方法は何ですか? (つまり、EOFfmt.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)
}
}