Heim >Backend-Entwicklung >Golang >Warum gibt Go den Fehler „err deklariert und nicht verwendet' aus?
Die Fehlermeldung „Err wurde deklariert und nicht verwendet“ ist ein häufiges Kompilierungsproblem in Go. Es entsteht, wenn eine Variable deklariert, aber nicht innerhalb des Gültigkeitsbereichs verwendet wird. Um dieses Problem zu verstehen, schauen wir uns das folgende Codefragment an:
package main import ( "fmt" ) func main() { var ( err error dto = make(map[string]interface{}) ) dto[`thing`], err = getThings() fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
In diesem Code wird die Variable err deklariert, aber nicht zur Fehlerbehandlung verwendet. Infolgedessen gibt der Compiler den Fehler „deklariert und nicht verwendet“ aus. Es handelt sich nicht um ein Bereichs- oder Schattenproblem, da die err-Variable ordnungsgemäß in der Hauptfunktion deklariert ist.
Laut den Go-FAQ kann das Vorhandensein einer nicht verwendeten Variablen auf einen potenziellen Fehler hinweisen. Ungenutzte Importe verlangsamen jedoch nur die Kompilierung. Es müssen deklarierte Variablen verwendet werden, und in diesem Fall wird err nicht zugewiesen oder für die Fehlerbehandlung verwendet.
Eine Möglichkeit, dies zu beheben, besteht darin, die Fehlerprüfung zu umgehen:
var _ = err
Alternativ: Sie könnten err für die tatsächliche Fehlerbehandlung verwenden:
if err != nil { fmt.Println(err.Error()) return }
Allerdings ist es im Allgemeinen ratsam, err für die Fehlerprüfung zu verwenden und nicht nur für die Zuweisung it.
Zusammenfassend lässt sich sagen, dass der Fehler „fehlerhaft deklariert und nicht verwendet“ auftritt, wenn eine Variable deklariert, aber nicht innerhalb ihres Gültigkeitsbereichs verwendet wird. Dies kann gelöst werden, indem entweder die Fehlerprüfung umgangen wird oder die Variable für den vorgesehenen Zweck verwendet wird, beispielsweise zur Fehlerbehandlung.
Das obige ist der detaillierte Inhalt vonWarum gibt Go den Fehler „err deklariert und nicht verwendet' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!