数组去重例子已经很多,这是补充一种数组元素为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
}