go 判断两个 slice/struct/map 是否相等的实例
可以通过reflect.DeepEqual比较两个slice/struct/map是否相等:
packagemain import( "fmt" "reflect" ) typeAstruct{ sstring } funcmain(){ a1:=A{s:"abc"} a2:=A{s:"abc"} ifreflect.DeepEqual(a1,a2){ fmt.Println(a1,"==",a2) } b1:=[]int{1,2} b2:=[]int{1,2} ifreflect.DeepEqual(b1,b2){ fmt.Println(b1,"==",b2) } c1:=map[string]int{"a":1,"b":2} c2:=map[string]int{"a":1,"b":2} ifreflect.DeepEqual(c1,c2){ fmt.Println(c1,"==",c2) } }
补充:go语言判断slice,array,map中是否存在某个元素
最近在用go重构以前python写的项目。遇到一些问题,总结一下。自己水平比较菜,遇到问题较低级,自己总结一下,免得忘了
很简单的需求,判断某个元素是否在slice,array,map中。其实很简单。但是还是python最简单啊。。。。。。。
funcContain(objinterface{},targetinterface{})(bool,error){ targetValue:=reflect.ValueOf(target) switchreflect.TypeOf(target).Kind(){ casereflect.Slice,reflect.Array: fori:=0;i以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。