上級 › スライスやマップを含む構造体は == で比較できない › パターン4
スライスやマップを含む構造体は == で比較できない
スライスやマップ、関数値をフィールドに持つ構造体は比較不可能な型として扱われ、==演算子で比較しようとするとコンパイルエラーになります。
1 package main 2 3 import "fmt" 4 5 type Team struct { 6 Members []string 7 } 8 9 func main() { 10 a := Team{Members: []string{"a", "b"}} 11 b := Team{Members: []string{"a", "b"}} 12 fmt.Println(________________________________) ^ 13 }
./main.go:12:14: invalid operation: a == b (struct containing []string cannot be compared)
空欄を埋めて実行を通す
すべてのフィールドが比較可能な型であることが==成立の前提で、1つでもスライスがあれば崩れます。
次の問題