Heim > Artikel > Backend-Entwicklung > Warum kann ich eine Karte nicht als Konstante deklarieren und sie in Go ändern?
In Go sind Karten keine Konstanten, was bedeutet, dass ihre Schlüssel-Wert-Paare nach der Erstellung nicht geändert werden können. Der Versuch, eine Karte als Konstante zu deklarieren und sie anschließend zu füllen, wie im folgenden Snippet gezeigt, führt zu einem Fehler:
const ( paths = &map[string]*map[string]string{ "Smith": { "theFather": "John", }, } paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior" )
Konstanten stellen unveränderliche Werte und die Karte dar Der Typ in Go lässt keine Änderungen an Schlüssel-Wert-Paaren zu. Die Spezifikation beschränkt Konstantendeklarationen auf bestimmte Typen, einschließlich boolescher, Runen-, Ganzzahl-, Gleitkomma-, komplexer und Zeichenfolgenkonstanten.
Um dieses Problem zu beheben Problem, deklarieren Sie die Karte als Variable statt als Konstante, wie unten gezeigt:
var paths = map[string]*map[string]string{ "Smith": { "theFather": "John", }, } paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"
Das obige ist der detaillierte Inhalt vonWarum kann ich eine Karte nicht als Konstante deklarieren und sie in Go ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!