- https://go.dev/ref/spec#Comparison_operators - 比較可能な型 `comparable types` - ` ==`, `!=` での比較が可能な型 - Boolean, Integer, Floating-point, Complex(複素数), String, Pointer, Channel, Array - 構造体はすべてのフィールドが比較可能であれば比較可能 - 順序比較可能な型 `ordered types` - `<`, `<=`, `>`, `>=` で順序の比較が可能な型 - Integer, Floating-point, String - 比較可能でない型 - slice, Map, function - slice など比較不可能なものを比較する方法 - `reflect.DeepEqual` を使う - `go-cmp` ライブラリを使う (`cmp.Diff` を使う) - 参考リンク - [go-cmpを使う理由とTipsの紹介](https://tutuz-tech.hatenablog.com/entry/2020/12/07/220236)