这个是主要判断这个切片中是否存在这个整数/字符串 ,如果存在就把切片中的这个值去掉,并且返回去掉几个。
func elementIsInSlice(element int, slice []int)(int ,[]int){
if len(slice) == 0 {
return 0,slice
}
var num int
for i, item := range slice{
if element == item{
slice = append(slice[:i], slice[i+1:]...)
num =num+1
}
}
return num, slice
}
func main() {
//求 slice1中存在slice2的值,就把slice1中的集合去掉,并反馈去掉多少个
var slice1 = []int{1,3,5,3,7,9}
var slice2 =[]int{8,6,3,12}
var a,b,c int
var isIn []int
for k,v:=range slice2{
if k==0{
a,isIn = elementIsInSlice(v, slice1)
c = c + a
}else {
b,isIn = elementIsInSlice(v, isIn) //注意这个括号里面写的是index为0的时候返回的值
c= c + b
}
}
fmt.Println("========c:",c)
fmt.Println("========isIn:",isIn)
}
结果:
========c: 2
========isIn: [1 5 7 9]