Warum kann ich eine Karte nicht als Konstante deklarieren und sie in Go ändern?

Mary-Kate Olsen
Freigeben: 2024-11-14 14:22:02
Original
343 Leute haben es durchsucht

Why Can't I Declare a Map as a Constant and Modify It in Go?

Karten als Konstanten deklarieren und ä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"
)
Nach dem Login kopieren

Grund

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.

Problemumgehung

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"
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage