Можно ли в 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 строк кода, то такой контроль уже начинает жутко бесить. Ведь приходится отлаживать, и временно комментировать некоторые участки кода. Так кроме кода, приходится ещё комментировать и объявления переменных и импорты, а потом бегать по всему коду и обратно раскомментировать.  

  

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

 Нет, собрать нельзя.  

Можно сделать финт ушами(но это дурной тон)  

```
var _ = fmt.Println
var _ = myvar
```
  

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

  

На самом деле, это очень хорошая фишка, делает код чистым(у меня во всех других языках всегда включён такой же линтер), а с импортами при комментировании проблем никаких не возникает, если пользоваться IDE. 

 Сначала убивает. Но потом привыкаешь. Да и уборщику работать проще 

 Он тебе говорит, что ты херню творишь, нет - продолжаешь творить.  

Наверное, в ужасе убежишь когда узнаешь вещи вроде запрета import cycle...