Im bereitgestellten Go-Code wird innerhalb der Hauptfunktion ein lokaler Variablenname definiert, der die Konstante überschattet oder eine Variable auf Paketebene mit demselben Namen. Dies kann zu Verwirrung und falschem Verhalten führen.
Wenn in Go eine neue Variable innerhalb einer Funktion deklariert wird, hat sie Vorrang vor allen anderen Variablen mit demselben Namen, die unter a definiert sind höheren Ebene (z. B. in einem Bereich auf Paketebene). Dies wird als Variablenschatten bezeichnet.
Um auf den Konstanten- oder Paketvariablennamen innerhalb der Hauptfunktion zu verweisen, können wir den Bezeichnernamen nicht direkt verwenden, da er die Funktion bezeichnet -Level-Variable. Stattdessen können wir einen der folgenden Ansätze verwenden:
Wenn eine Variable auf Paketebene mit var anstelle von const deklariert wird, kann sie innerhalb von Funktionen gespiegelt und neu zugewiesen werden. In solchen Fällen stellt die Verwendung eines der oben genannten Ansätze sicher, dass der ursprüngliche Wert erhalten bleibt.
Das obige ist der detaillierte Inhalt vonWie greife ich auf Konstanten und Variablen auf Paketebene zu, wenn sie in Go durch lokale Variablen überschattet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!