Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt Go den Fehler „err Declared and Not Used' aus?

Warum gibt Go den Fehler „err Declared and Not Used' aus?

Linda Hamilton
Linda HamiltonOriginal
2024-11-19 15:31:02701Durchsuche

Why Does Go Give an

Ungenutzte Variablen in Go

Bei der Go-Programmierung ist es wichtig, deklarierte Variablen zu verwenden. Wenn Sie eine Variable deklarieren, die im Gültigkeitsbereich des Codes ungenutzt bleibt, kann ein Kompilierungsfehler auftreten, der als „Fehler deklariert und nicht verwendet“ bezeichnet wird. Dieser Fehler weist nicht auf Schattenprobleme hin.

Im angegebenen Codeausschnitt:

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
}

Der Fehler tritt aufgrund der nicht verwendeten err-Variablen auf. Obwohl sie deklariert ist, wird ihr beim Aufruf von getThings() nur ein Wert zugewiesen und nicht weiter verwendet.

Laut den FAQ von Go „kann das Vorhandensein einer nicht verwendeten Variablen auf einen Fehler hinweisen.“ Nicht verwendete Variablen können die Kompilierungs- und Erstellungszeiten verlangsamen. Daher erfordert Go die Verwendung aller deklarierten Variablen.

Um den Fehler zu beheben, entfernen Sie die Variablendeklaration „err“ oder weisen Sie sie _ zu:

package main

import (
    "fmt"
)

func main() {
    var (
        _ error
        dto = make(map[string]interface{})
    )

    dto[`thing`], _ = getThings()
    fmt.Println(dto[`thing`])
}

func getThings() (string, error) {
    return `the thing`, nil
}

Alternativ können Sie „err“ zur Fehlerprüfung verwenden:

package main

import (
    "fmt"
)

func main() {
    var (
        err error
        dto = make(map[string]interface{})
    )

    dto[`thing`], err = getThings()
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(dto[`thing`])
}

func getThings() (string, error) {
    return `the thing`, nil
}

Während es zulässig ist, nicht verwendete globale Variablen oder Funktionsargumente zu haben, ist es wichtig, innerhalb von Funktionsbereichen deklarierte Variablen zu verwenden, um Fehler bei der Kompilierung zu vermeiden.

Das obige ist der detaillierte Inhalt vonWarum gibt Go den Fehler „err Declared and Not Used' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn