go []string slice utils

//两个slice 相同的元素, 以s1为标准
func CommonSlice(slice1, slice2 []string) (commonSlice []string) {
	for _, v := range slice1 {
		if InSlice(v, slice2) {
			commonSlice = append(commonSlice, v)
		}
	}
	return
}

//两个slice 不同的元素, 以s1为标准
func DiffSlice(slice1, slice2 []string) (diffSlice []string) {
	for _, v := range slice1 {
		if !InSlice(v, slice2) {
			diffSlice = append(diffSlice, v)
		}
	}
	return
}

//元素是否在slice中
func InSlice(val string, slice []string) bool {
	for _, v := range slice {
		if v == val {
			return true
		}
	}
	return false
}

猜你喜欢

转载自my.oschina.net/solate/blog/1812148