Laut FAQ :
Einige haben nach einer Compiler-Option gefragt, um diese Überprüfungen zu deaktivieren oder zumindest auf Warnungen zu reduzieren. Eine solche Option wurde jedoch nicht hinzugefügt, da Compileroptionen die Semantik der Sprache nicht beeinflussen sollten und der Go-Compiler keine Warnungen meldet, sondern nur Fehler, die die Kompilierung verhindern.
Es gibt zwei Gründe, warum keine Warnungen vorliegen. Erstens, wenn es sich lohnt, sich zu beschweren, lohnt es sich, dies im Code zu korrigieren. (Und wenn es sich nicht lohnt, das Problem zu beheben, ist es auch nicht erwähnenswert.) Zweitens wird die Implementierung durch das Generieren von Warnungen durch den Compiler dazu ermutigt, vor schwachen Fällen zu warnen, die die Kompilierung verrauschen lassen und echte Fehler maskieren können, die behoben werden sollten.
Ich stimme dem aus verschiedenen Gründen nicht unbedingt zu, die es nicht wert sind, darauf einzugehen. Es ist, was es ist, und es wird sich in naher Zukunft wahrscheinlich nicht ändern.
Für Pakete gibt es das goimports
Tool, das fehlende Pakete automatisch hinzufügt und nicht verwendete entfernt. Beispielsweise:
# Install it
$ go get golang.org/x/tools/cmd/goimports
# -w to write the source file instead of stdout
$ goimports -w my_file.go
Sie sollten in der Lage sein, dies von jedem halbwegs anständigen Editor aus auszuführen - zum Beispiel für Vim:
:!goimports -w %
Auf der goimports
Seite werden einige Befehle für andere Editoren aufgelistet. Normalerweise legen Sie fest, dass sie automatisch ausgeführt werden, wenn Sie den Puffer auf der Festplatte speichern.
Beachten Sie, dass goimports
auch ausgeführt wird gofmt
.
Wie bereits erwähnt, ist es für Variablen am einfachsten, sie (vorübergehend) zuzuweisen _
:
// No errors
tasty := "ice cream"
horrible := "marmite"
// Commented out for debugging
//eat(tasty, horrible)
_, _ = tasty, horrible