回答編集履歴

2

リンク修正

2018/03/09 08:15

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -32,6 +32,6 @@
32
32
 
33
33
 
34
34
 
35
- 実際には https://github.com/golang/go/blob/master/src/fmt/print.go#L594-L598
35
+ 実際には [https://github.com/golang/go/blob/master/src/fmt/print.go#L594-L598](https://github.com/golang/go/blob/master/src/fmt/print.go#L594-L598)
36
36
 
37
37
  ここでタイプスイッチによりError()メソッドが呼ばれています。

1

コメントに対する追記

2018/03/09 08:15

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -5,3 +5,33 @@
5
5
 
6
6
 
7
7
  つまりすべてのエラーオブジェクトはlogやfmtで文字列化されてコンソールやファイルに出力することができます。
8
+
9
+
10
+
11
+ 追記:
12
+
13
+
14
+
15
+ 「type assertion」や「type switch」について調べてみてください。
16
+
17
+
18
+
19
+ ```go
20
+
21
+ err := &ParseError{}
22
+
23
+ v, ok := err.(error)
24
+
25
+ if ok {
26
+
27
+ fmt.Print(v.Error())
28
+
29
+ }
30
+
31
+ ```
32
+
33
+
34
+
35
+ 実際には https://github.com/golang/go/blob/master/src/fmt/print.go#L594-L598
36
+
37
+ ここでタイプスイッチによりError()メソッドが呼ばれています。