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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。