Selon la FAQ :
Certains ont demandé une option de compilation pour désactiver ces vérifications ou au moins les réduire à des avertissements. Une telle option n'a pas été ajoutée, cependant, car les options du compilateur ne devraient pas affecter la sémantique du langage et parce que le compilateur Go ne signale pas les avertissements, seulement les erreurs qui empêchent la compilation.
Il y a deux raisons de ne pas avoir d'avertissement. Tout d'abord, si cela vaut la peine de se plaindre, cela vaut la peine d'être corrigé dans le code. (Et si cela ne vaut pas la peine d'être corrigé, cela ne vaut pas la peine d'être mentionné.) Deuxièmement, le fait que le compilateur génère des avertissements encourage la mise en œuvre à avertir des cas faibles qui peuvent rendre la compilation bruyante, masquant les vraies erreurs qui devraient être corrigées.
Je ne suis pas nécessairement d'accord avec cela pour diverses raisons qui ne valent pas la peine d'être abordées. C'est ce qu'il est et il est peu probable qu'il change dans un avenir proche.
Pour les packages, il existe l' goimports
outil qui ajoute automatiquement les packages manquants et supprime ceux qui ne sont pas utilisés. Par exemple:
# Install it
$ go get golang.org/x/tools/cmd/goimports
# -w to write the source file instead of stdout
$ goimports -w my_file.go
Vous devriez pouvoir l'exécuter à partir de n'importe quel éditeur décent à mi-chemin - par exemple pour Vim:
:!goimports -w %
La goimports
page répertorie certaines commandes pour d'autres éditeurs et vous la définissez généralement pour qu'elle s'exécute automatiquement lorsque vous enregistrez le tampon sur le disque.
Notez que goimports
cela fonctionnera également gofmt
.
Comme cela a déjà été mentionné, pour les variables, le moyen le plus simple consiste à les affecter (temporairement) à _
:
// No errors
tasty := "ice cream"
horrible := "marmite"
// Commented out for debugging
//eat(tasty, horrible)
_, _ = tasty, horrible