De acordo com o FAQ :
Alguns pediram uma opção do compilador para desativar essas verificações ou pelo menos reduzi-las a avisos. Essa opção não foi adicionada, no entanto, porque as opções do compilador não devem afetar a semântica do idioma e porque o compilador Go não relata avisos, apenas erros que impedem a compilação.
Há duas razões para não haver avisos. Primeiro, se vale a pena reclamar, vale a pena fixar no código. (E se não vale a pena consertar, não vale a pena mencionar.) Segundo, fazer com que o compilador gere avisos incentiva a implementação a avisar sobre casos fracos que podem fazer barulho na compilação, mascarando erros reais que devem ser corrigidos.
Não concordo necessariamente com isso por várias razões que não valem a pena. É o que é e não é provável que mude no futuro próximo.
Para pacotes, existe a goimports
ferramenta que adiciona automaticamente pacotes ausentes e remove os não utilizados. Por exemplo:
# Install it
$ go get golang.org/x/tools/cmd/goimports
# -w to write the source file instead of stdout
$ goimports -w my_file.go
Você deve poder executar isso a partir de qualquer editor decente incompleto - por exemplo, para o Vim:
:!goimports -w %
A goimports
página lista alguns comandos para outros editores e você normalmente o define para ser executado automaticamente quando você salva o buffer no disco.
Observe que goimports
também será executado gofmt
.
Como já foi mencionado, para variáveis, a maneira mais fácil é atribuí-las (temporariamente) a _
:
// No errors
tasty := "ice cream"
horrible := "marmite"
// Commented out for debugging
//eat(tasty, horrible)
_, _ = tasty, horrible