Я изучаю Go, но мне немного досадно, что при компиляции я не должен оставлять ни одну переменную или пакет неиспользованным.
Это действительно довольно сильно замедляет меня. Например, я просто хотел объявить новый пакет и планировать использовать его позже или просто раскомментировать некоторую команду для тестирования. Я всегда получаю сообщение об ошибке, и мне нужно прокомментировать все эти варианты использования.
Есть ли способ избежать такой проверки в Go?
Ответы:
Эта ошибка здесь, чтобы заставить вас писать лучший код и обязательно использовать все, что вы объявляете или импортируете. Это облегчает чтение кода, написанного другими людьми (вы всегда уверены, что все объявленные переменные будут использованы), и избегает некоторого возможного мертвого кода.
Но, если вы действительно хотите пропустить эту ошибку, вы можете использовать пустой идентификатор (
_
):становится
Как сказал kostix в комментариях ниже, вы можете найти официальную позицию команды Go в FAQ :
источник
Для этого вы можете использовать простую «нулевую функцию», например:
Который вы можете использовать так:
Для этого также есть пакет, поэтому вам не нужно
Use
каждый раз определять функцию:источник
Согласно FAQ :
Я не обязательно согласен с этим по разным причинам, в которые не стоит вдаваться. Это то, что есть, и вряд ли оно изменится в ближайшем будущем.
Для пакетов есть
goimports
инструмент, который автоматически добавляет отсутствующие пакеты и удаляет неиспользуемые. Например:Вы должны быть в состоянии запустить это из любого наполовину приличного редактора - например, для Vim:
На
goimports
странице перечислены некоторые команды для других редакторов, и вы обычно настраиваете их на автоматический запуск при сохранении буфера на диск.Обратите внимание, что
goimports
также будет работатьgofmt
.Как уже упоминалось, для переменных самый простой способ (временно) назначить их
_
:источник
Один угол, который не упомянут, это наборы инструментов, используемые для редактирования кода.
Использование Visual Studio код наряду с расширением из lukehoban под названием
Go
будет сделать некоторые авто-волшебство для Вас. Расширение Go автоматически запускаетсяgofmt
иgolint
т. Д., А также удаляет и добавляетimport
записи . По крайней мере, эта часть теперь автоматическая.Я признаю, что это не 100% решение вопроса, но, тем не менее, достаточно полезно.
источник
В случае, если другим трудно понять это, я думаю, что это может помочь объяснить это очень просто. Если у вас есть переменная, которую вы не используете, например, функция, для которой вы закомментировали вызов (общий вариант использования):
Вы можете назначить бесполезную / пустую переменную функции, чтобы она больше не использовалась :
источник