I want to check if two structs, slices and maps are equal. But I'm running into problems with the following code. See my comments at the relevant lines. package main import ( "fmt" "reflect" ) type T struct { X int Y string Z []int M map[string]int } func main() { t1 := T{ X: 1, Y: "lei", Z: []int{1, 2, 3}, M: map[string]int{ "a": 1, "b": 2, }, } t2 := T{ X: 1, Y: "lei", Z: []int{1, 2, 3}, M: map[