回答編集履歴

1

fix

2017/08/19 11:36

投稿

mattn
mattn

スコア5030

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 文で書き換えると以下になります。