Как использовать несколько пустых идентификаторов в Go? - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь использовать более одного пустого идентификатора в цикле, потому что меня не интересуют значения, но я не могу его использовать.

Вот мой код

x := [5]float64{1, 2, 3, 4, 5}
for _, _ := range x {
    //Do some work
}   

Мне интересно, как один пустой идентификатор может указываться в выражении более одного раза?

Я получаю ошибку no new variables on left side of :=

Ответы [ 2 ]

5 голосов
/ 20 октября 2019

Код использует краткое объявление переменных, но новые переменные не объявляются, поскольку пустой идентификатор _ не представляет имя переменной.

Используйте следующий код:

for _, _ = range x {
    //Do some work
}

Обратите внимание на использование присваивания вместо краткое объявление переменной .

Еще лучше, не назначайте никакие переменные, как показано в комментарии от mh-cbon:

for range {
   //Do some work
}

Форма без переменных была добавлена ​​в Go 1.4 .

0 голосов
/ 20 октября 2019

Когда ни одна из переменных не используется, вы можете игнорировать пустые идентификаторы.

x := [5]float64{1, 2, 3, 4, 5}
for range x {
    //Do some work
}

Как отмечает @MonteDude, переменная _ уже определена. Вот почему вы получаете no new variables on left side of := ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...