Skip to content

Latest commit

 

History

History
35 lines (27 loc) · 818 Bytes

笔记.md

File metadata and controls

35 lines (27 loc) · 818 Bytes
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,有些数据未初始化时默认为很抽象的数据,导致如果直接传入结构体会使查询结果始终为空,尚且不知道怎么解决