main.goにsc.Scan()でfalseを返して正常に文字列を読み込めませんでした。と表示したいです。
main.goにecho "" | go run main.goで空文字を渡しても、go run main.goで空文字で入力してもエラーは出ません。
リファレンスを読みましたが、どういう条件でfalseが返ってくるかわかりませんでした。
sc.Scan()でいちいちチェックするのは無駄なんでしょうか。
main.go
GO
1package main 2import ( 3 "fmt" 4 "bufio" 5 "os" 6) 7func main(){ 8 var sc = bufio.NewScanner(os.Stdin) 9 if !sc.Scan() { 10 fmt.Println("正常に文字列を読み込めませんでした。") 11 os.Exit(1) 12 } 13 fmt.Println(sc.Text()) 14}
読みこみが終了したときにfalseになると思いますが、違いますか?
そこもよく分かっていません。
回答2件
あなたの回答
tips
プレビュー