Heim >Backend-Entwicklung >Golang >Warum kann ich die kurze Variablendeklaration „:=' nicht außerhalb einer Funktion in Go verwenden?

Warum kann ich die kurze Variablendeklaration „:=' nicht außerhalb einer Funktion in Go verwenden?

Linda Hamilton
Linda HamiltonOriginal
2024-11-12 17:53:02806Durchsuche

Why Can't I Use `:=` Short Variable Declaration Outside of a Function in Go?

Verstehen von „<=: Problem mit der Deklaration kurzer Variablen“

In Go wird die Syntax der kurzen Variablendeklaration &= normalerweise zum Deklarieren von und verwendet Initialisieren Sie Variablen innerhalb von Funktionskörpern. Der Versuch, diese Syntax außerhalb einer Funktion zu verwenden, kann jedoch zum Kompilierungsfehler „erwartete Deklaration, gefundenes ‚IDENT‘-Element“ führen.

Fehlerursache

Die Fehlermeldung weist darauf hin, dass der Compiler eine Deklaration (z. B. var) erwartet hat, aber stattdessen auf das IDENT-Element (das einen Bezeichner darstellt) gestoßen ist. Im bereitgestellten Code ist die Zeile:

item := &memcache.Item {
    Key:   "lyric",
    Value: []byte("Oh, give me a home"),
}

versucht, die Elementvariable mithilfe der &=-Syntax außerhalb einer Funktion zu deklarieren und zu initialisieren, was nicht zulässig ist.

Lösung

Um diesen Fehler zu beheben, können Sie Folgendes tun eine der folgenden Möglichkeiten:

  1. Deklarieren Sie die Variable innerhalb einer Funktion: Wenn Sie die &=-Syntax verwenden möchten, verschieben Sie die Variablendeklaration innerhalb einer Funktion, wie zum Beispiel:
func MyFunction() {
    item := &memcache.Item {
        Key:   "lyric",
        Value: []byte("Oh, give me a home"),
    }

    // Do something with item
}
  1. Deklarieren Sie die Variable global: Wenn Sie die Variable außerhalb einer Funktion (global) verwenden möchten, deklarieren Sie sie mit dem Schlüsselwort var:
var item = &memcache.Item {
    Key:   "lyric",
    Value: []byte("Oh, give me a home"),
}

Das obige ist der detaillierte Inhalt vonWarum kann ich die kurze Variablendeklaration „:=' nicht außerhalb einer Funktion in Go verwenden?. 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