func difference(slice1, slice2 []int) []int { //取要校验的和已经校验过的差集,找出需要校验的切片IP(找出slice1中 slice2中没有的) m := make(map[int]int) n := make([]int,0) inter := intersect(slice1, slice2) for _, v := range inter { m[v]++ } for _, value := range slice1 { if m[value] == 0 { n = append(n, value) } } for _, v := range slice2 { if m[v] == 0 { n = append(n, v) } } return n } func intersect(slice1, slice2 []int) []int { // 取两个切片的交集 m := make(map[int]int) n := make([]int, 0) for _, v := range slice1 { m[v]++ } for _, v := range slice2 { times, _ := m[v] if times == 1 { n = append(n, v) } } return n }
摘自:https://blog.csdn.net/weixin_43202081/article/details/108050870
原文:https://www.cnblogs.com/wt645631686/p/13785690.html