gpt4 book ai didi

arrays - GoLang : Check if item from Slice 1 contains in Slice 2. 如果是,删除 Slice 2

转载 作者:数据小太阳 更新时间:2023-10-29 03:14:02 26 4
gpt4 key购买 nike

我有一个字符串数组:slice1 [][]string。我使用 for 循环获得了我想要的值:

for _, i := range slice1 { //[string1 string2]
fmt.Println("server: ", i[1]) //only want the second string in the array.
}

现在我有另一个字符串数组:slice2 [][]string我也使用 for 循环获取它的值:

for _, value := range output { //
fmt.Println(value) //Prints: [ 200K, 2, "a", 22, aa-d-2, sd , MatchingString, a ]
}

我想遍历 slice1 并检查 string2 是否与 Slice2 中的“MatchingString”匹配。如果是,则不要打印值数组。

我再次创建了一个 for 循环来执行此操作,但它不起作用:

for _, value := range slice2 {
for _, i := range slice1 {
if strings.Contains(value[0], i[1]) {
//skip over
} else {
fmt.Println(value)
}
}
}

这是一个示例代码:https://play.golang.org/p/KMVzB2jlbG关于如何执行此操作的任何想法?谢谢!

最佳答案

如果我没看错您的问题,那么您正在尝试打印 slice2 的所有子 slice ,这些子 slice 具有以下属性:其中的所有字符串都不是 中 slice 的第二个元素 slice 1。如果是这样,您可以通过

Slice2Loop:
for _, value := range slice2 {
for _, slice2string := range value {
for _, i := range slice1 {
if slice2string == i[1] {
continue Slice2Loop
}
}
}
fmt.Println(value)
}

关于arrays - GoLang : Check if item from Slice 1 contains in Slice 2. 如果是,删除 Slice 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42317372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com