Secondo le FAQ :
Alcuni hanno chiesto un'opzione del compilatore per disattivare quei controlli o almeno ridurli in avvisi. Tale opzione non è stata aggiunta, tuttavia, perché le opzioni del compilatore non dovrebbero influire sulla semantica della lingua e perché il compilatore Go non riporta avvisi, ma solo errori che impediscono la compilazione.
Esistono due motivi per non avere avvisi. Innanzitutto, se vale la pena lamentarsi, vale la pena correggerlo nel codice. (E se non vale la pena aggiustarlo, non vale la pena menzionarlo.) Secondo, fare in modo che il compilatore generi avvisi incoraggia l'implementazione a mettere in guardia su casi deboli che possono rendere rumorosa la compilazione, mascherando errori reali che dovrebbero essere corretti.
Non sono necessariamente d'accordo con questo per vari motivi che non vale la pena approfondire. È quello che è, e non è probabile che cambi nel prossimo futuro.
Per i pacchetti, c'è lo goimports
strumento che aggiunge automaticamente i pacchetti mancanti e rimuove quelli inutilizzati. Per esempio:
# Install it
$ go get golang.org/x/tools/cmd/goimports
# -w to write the source file instead of stdout
$ goimports -w my_file.go
Dovresti essere in grado di eseguirlo da qualsiasi editor decente a metà strada, ad esempio per Vim:
:!goimports -w %
Il goimports
pagina elenca alcuni comandi per altri editor e in genere viene impostato per l'esecuzione automatica quando si salva il buffer su disco.
Si noti che goimports
verrà eseguito anche gofmt
.
Come già accennato, per le variabili il modo più semplice è assegnarle (temporaneamente) a _
:
// No errors
tasty := "ice cream"
horrible := "marmite"
// Commented out for debugging
//eat(tasty, horrible)
_, _ = tasty, horrible