Подчеркнуть в LHS оператора присваивания в го - PullRequest
0 голосов
/ 18 мая 2018

Что делает этот фрагмент кода?

var i int
_ = i

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

Здесьпример из репозитория etcd GitHub: etcd

Ответы [ 3 ]

0 голосов
/ 18 мая 2018

Код , созданный машиной .Генератор добавил операторы _ = i, чтобы избежать неиспользуемых объявлений переменных в случае, когда маршалу нечего.

Автору генератора кода, вероятно, было проще добавить пустые операторы присваивания, чем пропускать переменные, когдане нужен.

0 голосов
/ 18 мая 2018

Обратите внимание, иногда подчеркивание используется в импорте, так что код init() пакета будет выполнен, однако нет необходимости вызывать функции в этом пакете.

Это часто применяется техникадля обработки изображений для регистрации обработчиков изображений.

См. Вариант использования для импорта с пустым идентификатором в golang

0 голосов
/ 18 мая 2018

Полагаю, вы могли бы сделать это, чтобы перестать жаловаться на неиспользованную переменную

Было бы лучше вообще не объявлять переменную

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