Gemäß dem FAQ:
Einige haben nach einer Compileroption gefragt, um diese Überprüfungen auszuschalten oder zumindest auf Warnungen zu reduzieren. Eine solche Option wurde jedoch nicht hinzugefügt, da Compileroptionen die Semantik der Sprache nicht beeinflussen sollten und weil der Go-Compiler keine Warnungen, sondern nur Fehler ausgibt, die die Kompilierung verhindern.
Es gibt zwei Gründe, warum es keine Warnungen gibt. Erstens, wenn es sich lohnt, sich zu beschweren, lohnt es sich, den Code zu korrigieren. (Und wenn es nicht lohnt, ihn zu korrigieren, ist es nicht erwähnenswert.) Zweitens, das Generieren von Warnungen durch den Compiler ermutigt die Implementierung dazu, vor schwachen Fällen zu warnen, die die Kompilierung lärmig machen können und echte Fehler überdecken, die behoben werden sollten.
Ich stimme dem nicht unbedingt aus verschiedenen Gründen zu, die es nicht wert sind, darauf einzugehen. Es ist wie 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. Zum Beispiel:
# Installieren
$ go get golang.org/x/tools/cmd/goimports
# -w schreibt die Quellcodedatei anstelle von stdout
$ goimports -w my_file.go
Sie sollten dies von einem halbwegs vernünftigen Editor ausführen können, zum Beispiel für Vim:
:!goimports -w %
Die goimports
Seite listet einige Befehle für andere Editoren auf, und in der Regel wird sie automatisch ausgeführt, wenn Sie den Puffer auf die Festplatte speichern.
Beachten Sie, dass goimports
auch gofmt
ausführen wird.
Wie bereits erwähnt, ist der einfachste Weg für Variablen, diese (temporär) _
zuzuweisen:
// Keine Fehler
lecker := "Eiscreme"
grauenvoll := "Marmite"
// Für Debugging auskommentiert
//essen(lecker, grauenvoll)
_, _ = lecker, grauenvoll