我有一个字符串数组: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是否匹配" MatchingString"在Slice2。如果是,请不要打印值数组。
我再次创建了一个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 有关如何做到这一点的任何想法?谢谢!
答案 0 :(得分:1)
如果我正确地阅读了您的问题,那么您正在尝试打印所有slice2
的子句,这些子句具有以下属性:slice1
中没有任何字符串是切片的第二个元素}。如果是这样,您可以通过
Slice2Loop:
for _, value := range slice2 {
for _, slice2string := range value {
for _, i := range slice1 {
if slice2string == i[1] {
continue Slice2Loop
}
}
}
fmt.Println(value)
}