Heim >Backend-Entwicklung >Golang >Golang-Karte hinzugefügt

Golang-Karte hinzugefügt

PHPz
PHPzOriginal
2023-05-21 21:28:06895Durchsuche

Golang ist eine fortschrittliche Programmiersprache, die die hohe Leistung der C-Sprache mit der Einfachheit und Benutzerfreundlichkeit der Python-Sprache kombiniert. Sie hat sich rasant weiterentwickelt und ist zu einer der am weitesten verbreiteten Programmiersprachen der Branche geworden. In diesem Artikel besprechen wir die Additionsoperation der Karte in Golang.

Map ist eine Datenstruktur, die zum Speichern von Schlüssel-Wert-Paaren verwendet wird. Es ähnelt Dictionary in Python, HashMap in Java usw. Map ist ein Referenztyp in Golang und kann mit der Make-Funktion initialisiert werden. Im Gegensatz zu einem Array kann die Länge einer Map dynamisch wachsen, was sie ideal zum Speichern einer unbestimmten Anzahl von Schlüssel-Wert-Paaren macht.

In Golang ist der Additionsvorgang von Map in zwei Teile unterteilt. Der erste Teil besteht darin, eine Variable vom Typ Map zu erstellen, und der zweite Teil besteht darin, Daten zur Map hinzuzufügen.

Zuerst müssen wir eine Variable vom Typ Map deklarieren. Die Syntax lautet wie folgt:

var m map[keyType]valueType

wobei keyType den Typ des Schlüssels in der Map und valueType den Typ des Werts in darstellt die Karte. Wenn wir beispielsweise eine Map erstellen möchten, bei der der Schlüssel vom Typ String und der Wert vom Typ Integer ist, lautet die Deklarationsanweisung wie folgt:

var m map[string]int

Es sollte beachtet werden, dass die Deklaration Hier gibt es keine Map. Allokieren Sie Speicherplatz, daher muss die Make-Funktion verwendet werden, um die Map zu initialisieren, bevor Sie sie verwenden können. Die Syntax für die Verwendung der Make-Funktion lautet wie folgt:

m = make(map[keyType]valueType)

Oder Sie können eine kurze Deklarationssyntax verwenden, um schnell eine Map zu erstellen:

m := make(map[string]int )

Nachdem wir eine Map-Typ-Variable m erstellt haben, können Sie m Schlüssel-Wert-Paare hinzufügen. Die Additionsoperation mit Map erfordert die Verwendung des Indexoperators [], der dem Array-Indexoperator in anderen Sprachen ähnelt. Wenn wir der Map ein neues Element hinzufügen, müssen wir den Schlüssel und den Wert des Elements angeben. Hier ist ein Beispielcode:

m["one"] = 1
m["two"] = 2

In diesem Beispiel haben wir der Map zwei Schlüssel-Wert-Paare hinzugefügt, mit den Schlüsseln „one“ und „ zwei“, mit den Werten 1 bzw. 2. Wenn wir die Elemente in der Map ändern möchten, können wir dieselbe Syntax verwenden.

Für Schlüssel, die bereits in der Map vorhanden sind, können wir ihre Werte über den Indexoperator abrufen. Hier ist ein Beispielcode:

fmt.Println(m["one"]) // Ausgabe 1
fmt.Println(m["two"]) // Ausgabe 2

Wenn wir den Indexoperator verwenden, um die zu erhalten Map Wenn in Map kein Schlüssel vorhanden ist, gibt Map einen Nullwert des Werttyps zurück, der dem Schlüssel entspricht. Wenn wir beispielsweise die folgende Codezeile verwenden, um den Wert mit dem Schlüssel „drei“ abzurufen:

fmt.Println(m["drei"]) // Gibt 0

aus, wobei 0 ein Nullwert vom Typ int ist.

Es ist erwähnenswert, dass Map in Golang eine nebenläufigkeitssichere Datenstruktur ist, sodass auf Elemente in Map in mehreren Goroutinen sicher zugegriffen und diese geändert werden können. Gleichzeitige Lese- und Schreibvorgänge auf demselben Schlüssel können jedoch zu einer Race-Bedingung führen. Daher müssen wir bei gleichzeitigen Vorgängen die entsprechenden im Synchronisierungspaket bereitgestellten Funktionen verwenden, um die Sicherheit der Karte zu gewährleisten.

Kurz gesagt, Map in Golang ist eine leistungsstarke Datenstruktur, die viele praktische Vorgänge bietet. Wir können die Map mit der make-Funktion initialisieren und über den Indexoperator neue Elemente zur Map hinzufügen. Karten sind beim Zugriff auf Elemente sehr effizient und auch in Multithread-Anwendungen sehr sicher.

Das obige ist der detaillierte Inhalt vonGolang-Karte hinzugefügt. 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