hottabxp
@hottabxp
Миллиардер. Честно, 100 пистонов!

Можно ли в Go собрать проект с объявленными, но не используемыми переменными?

Решил сегодня попробовать Go. Портирую свой проект с Python на Go. Заметил такую особенность, если в проекте объявлена переменная, но она не используется, компилятор не выдает предупреждение, а сразу ошибку. Разумеется, проект не собирается.
Пример:
Так собирается:
var files string = "Предположим, тут список файлов"
	fmt.Println(files)
А так уже нет:
var files string = "Предположим, тут список файлов"
	// fmt.Println(files)

./main.go:5:2: imported and not used: "fmt"
Ошибка: процесс завершился с кодом 2.

Такое же поведение и при импортировании и не использовании пакета:
imported and not used: "fmt"
Так как в проекте уже больше 250 строк кода, то такой контроль уже начинает жутко бесить. Ведь приходится отлаживать, и временно комментировать некоторые участки кода. Так кроме кода, приходится ещё комментировать и объявления переменных и импорты, а потом бегать по всему коду и обратно раскомментировать.

Может можно указать компилятору, чтобы он вместо ошибок показывал предупреждения?
  • Вопрос задан
  • 114 просмотров
Решения вопроса 2
@ghostiam
На Go писатель, серверов пинатель.
Нет, собрать нельзя.
Можно сделать финт ушами(но это дурной тон)
var _ = fmt.Println
var _ = myvar

То есть, воспользоваться нужно в любом случае.

На самом деле, это очень хорошая фишка, делает код чистым(у меня во всех других языках всегда включён такой же линтер), а с импортами при комментировании проблем никаких не возникает, если пользоваться IDE.
Ответ написан
@Rerurk
Сначала убивает. Но потом привыкаешь. Да и уборщику работать проще
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Nameisconfidentialinfo
Он тебе говорит, что ты херню творишь, нет - продолжаешь творить.
Наверное, в ужасе убежишь когда узнаешь вещи вроде запрета import cycle...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Lanck Telecom Санкт-Петербург
от 180 000 до 250 000 ₽
Leningrad Media Санкт-Петербург
До 200 000 ₽