回答編集履歴
1
fix
answer
CHANGED
@@ -11,6 +11,11 @@
|
|
11
11
|
```
|
12
12
|
|
13
13
|
golang で `x.(SomeType)` とすると type assertion になるのですが、`switch tweet := x.(type)` に関しては type switch 構文という構文なので特に意識する必要なく、こういう構文だと思って下さい。
|
14
|
+
ちなみに type assertion とは interface x が () の中の型に変換する事を明示します。そのまま式として使用する事も出来ますが、本当に正しく型変換できたかどうかを2個目の戻り値でチェックできます。
|
15
|
+
```
|
16
|
+
v, ok := x.(SomeType)
|
17
|
+
```
|
18
|
+
x が SomeType であれば ok が true になります。気を付けないといけないのは、これが出来るのは x が interface である場合のみです。
|
14
19
|
|
15
20
|
またこれを if 文で書き換えると以下になります。
|
16
21
|
|