reflect.DeepEqual
有的时候会给出不正确的结果,不知道为什么
实现两个字符串切片对比的方法
func StringSliceEqualBCE(a, b []string) bool {
if a == nil && b == nil {
return true
}
if a == nil || b == nil {
return false
}
mapA := make(map[string]bool)
for _, v := range a {
mapA[v] = true
}
for _, v := range b {
if _, ok := mapA[v]; ok {
delete(mapA, v)
}
}
return len(mapA) == 0
}
写个map,把A送到MAP里面,遍历B对比,如果有相同的就删除,最后看看MAP里面还有没有东西,如果有就是不相等
在使用FindOne的时候,由于结构体中有些数据未初始化时为0,有些数据未初始化时默认为很抽象的数据,导致如果直接传入结构体会使查询结果始终为空,尚且不知道怎么解决