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