2017-02-18 23 views
0

У меня есть строковый массив: slice1 [] [] string. я получаю значение я хочу, используя для цикла:GoLang: проверьте, содержит ли элемент из Slice 1 в Slice 2. Если это так, удалите Slice 2

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

Теперь у меня есть еще один массив строк: slice2 [] [] строка я получаю свои значения, используя для цикла, а также:

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

Я хочу выполнить итерацию через slice1 и проверить, соответствует ли строка2 «MatchingString» в Slice2. Если это так, не печатайте массив значений.

Я создал цикл снова, чтобы сделать это, но он не работает:

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 Любая идея о том, как это сделать? Благодаря!

+2

Не могли бы вы предоставить образец кода на игровой площадке Go? –

+0

Здесь вы дадите мне знать, если у вас есть какие-либо вопросы: https://play.golang.org/p/KMVzB2jlbG – shishh03

ответ

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) 
    } 
+0

yep у вас есть! Благодаря! – shishh03

+0

Привет. Я внесла некоторые изменения в свой код, и мне было интересно, поможешь ли ты с этим. Вот игровая площадка: https://play.golang.org/p/7LZqc6Yol3. Дайте мне знать, если у вас есть вопросы. – shishh03

+0

@ shishh03: Это будет проще, если вы просто откроете новый вопрос, где вы расскажете, что вы пытаетесь достичь, и какова текущая проблема. – fuglede

 Смежные вопросы

  • Нет связанных вопросов^_^