结构体深度比较 reflect.DeepEqual
demo1
package main import ( "fmt" "reflect" ) func main() { sliceMap1 := make([]map[interface{}]interface{},0) sliceMap2 := make([]map[interface{}]interface{},0) map1 := make(map[interface{}]interface{},0) map2 := make(map[interface{}]interface{},0) map3 := make(map[interface{}]interface{},0) map4 := make(map[interface{}]interface{},0) map1["step"] = 120 map1["values"] = []byte{1,2,3,4} map2["step"] = 60 map2["values"] = []byte{2,2,3,4} map3["step"] = 120 map3["values"] = []byte{1,2,3,4} map4["step"] = 60 map4["values"] = []byte{2,2,3,4} sliceMap1 = append(sliceMap1,map1) sliceMap1 = append(sliceMap1,map2) sliceMap2 = append(sliceMap1,map3) sliceMap2 = append(sliceMap1,map4) fmt.Println(reflect.DeepEqual(sliceMap1,sliceMap2)) }
运行结果:
[root@localhost golang]# go run demo.go false