回答編集履歴

2

事例追加

2019/08/22 02:01

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -3,3 +3,45 @@
3
3
  空文字を渡しただけのつもりでも空文字とEOFの二つが渡されるので、二回以上スキャンしないと判定できません。
4
4
 
5
5
  また、エラーについてですが、正常でないかどうかはsc.Err()の値をチェックしましょう。
6
+
7
+
8
+
9
+ ```go
10
+
11
+ package main
12
+
13
+
14
+
15
+ import (
16
+
17
+ "bufio"
18
+
19
+ "fmt"
20
+
21
+ "os"
22
+
23
+ )
24
+
25
+
26
+
27
+ func main() {
28
+
29
+ var sc = bufio.NewScanner(os.Stdin)
30
+
31
+ for sc.Scan() {
32
+
33
+ if err := sc.Err(); err != nil {
34
+
35
+ fmt.Println("正常に文字列を読み込めませんでした。")
36
+
37
+ os.Exit(1)
38
+
39
+ }
40
+
41
+ fmt.Println(sc.Text())
42
+
43
+ }
44
+
45
+ }
46
+
47
+ ```

1

エラーについて追記

2019/08/22 02:01

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -1,3 +1,5 @@
1
1
  if !sc.Scan()をfor sc.Scan()に変えて、sc.Text()のある行はループの中に入れましょう。
2
2
 
3
3
  空文字を渡しただけのつもりでも空文字とEOFの二つが渡されるので、二回以上スキャンしないと判定できません。
4
+
5
+ また、エラーについてですが、正常でないかどうかはsc.Err()の値をチェックしましょう。