型Tと値xの型Vが同じunderlying typeを持つ && 型Tまたは型Vのいずれかがdefined typeでない && 型Tまたは型Vのいずれかがdefined typeでない 3. 型Tはインターフェースであり、値xがインターフェースTを満たしている 3. 型Tはインターフェースであり、値xがインターフェースTを満たしている 4. 値xは双方向チャネルであり、型Tはchannel typeである 4. 値xは双方向チャネルであり、型Tはchannel typeである && 型Tおよび値xの型Vが持つ要素の型が同じである && 型Tおよび値xの型Vが持つ要素の型が同じである && 型Tまたは型Vのいずれかがdefined typeでない && 型Tまたは型Vのいずれかがdefined typeでない 5. 値xは事前宣言された識別子としてのnilであり、 5. 値xは事前宣言された識別子としてのnilであり、 型Tはポインタまたは関数, スライス, マップ, チャネル, インターフェースのどれかである 型Tはポインタまたは関数, スライス, マップ, チャネル, インターフェースのどれかである 6. 値xは型Tの値によって表現可能な型無し定数(untyped constant)である 6. 値xは型Tの値によって表現可能な型無し定数(untyped constant)である 20 20