回答編集履歴
1
fix
test
CHANGED
@@ -24,6 +24,16 @@
|
|
24
24
|
|
25
25
|
golang で `x.(SomeType)` とすると type assertion になるのですが、`switch tweet := x.(type)` に関しては type switch 構文という構文なので特に意識する必要なく、こういう構文だと思って下さい。
|
26
26
|
|
27
|
+
ちなみに type assertion とは interface x が () の中の型に変換する事を明示します。そのまま式として使用する事も出来ますが、本当に正しく型変換できたかどうかを2個目の戻り値でチェックできます。
|
28
|
+
|
29
|
+
```
|
30
|
+
|
31
|
+
v, ok := x.(SomeType)
|
32
|
+
|
33
|
+
```
|
34
|
+
|
35
|
+
x が SomeType であれば ok が true になります。気を付けないといけないのは、これが出来るのは x が interface である場合のみです。
|
36
|
+
|
27
37
|
|
28
38
|
|
29
39
|
またこれを if 文で書き換えると以下になります。
|