可以使用循环遍历的方法,将一个切片中的元素在另一个切片中查找,如果存在则从原切片中删除该元素。最后返回原切片即为两个切片的差积。
示例代码如下:
func diff(a, b []int) []int {
for _, v := range b {
for i := 0; i < len(a); i++ {
if a[i] == v {
a = append(a[:i], a[i+1:]...)
i--
}
}
}
return a
}
调用示例:
a := []int{1, 2, 3, 4, 5}
b := []int{3, 4, 6, 7}
c := diff(a, b)
fmt.Println(c) // 输出 [1 2 5]




