golang 数组元素为struct去重

数组去重例子已经很多,这是补充一种数组元素为struct的去重方法:元素为struct的情况无法进行字符串排序,故通过两层循环逐一进行比对,而不是相邻元素进行比对

func RemoveSliceMap(a []interface{}) (ret []interface{}){
	n := len(a)
	for i:=0; i < n; i++{
		state := false
		for j := i+1 ; j < n; j++{
			if (j > 0 && reflect.DeepEqual(a[i],a[j])){
				state = true
				break
			}
		}
		if !state {
			ret = append(ret, a[i])
		}
	}
	return
}

你可能感兴趣的:(golang 数组元素为struct去重)