Heim  >  Artikel  >  Backend-Entwicklung  >  Hinzufügen, Löschen und Ändern der Golang-Karte

Hinzufügen, Löschen und Ändern der Golang-Karte

王林
王林Original
2023-05-15 10:26:07732Durchsuche

Golang ist eine sehr beliebte Programmiersprache und wird häufig in der Webentwicklung, Systemprogrammierung, Netzwerkprogrammierung und anderen Bereichen verwendet. In Golang ist Map eine sehr häufig verwendete Datenstruktur, mit der Schlüssel-Wert-Paare einfach hinzugefügt, gelöscht und geändert werden können. In diesem Artikel wird die grundlegende Verwendung der Kartendatenstruktur sowie das Hinzufügen, Löschen und Ändern einer Karte vorgestellt.

1. Grundlegende Verwendung der Kartendatenstruktur

map ist eine Schlüssel-Wert-Paar-Datenstruktur in Golang, die verschiedene Arten von Schlüsseln und Werten speichern kann Zu einem Wörterbuch kann über den Schlüssel auf den entsprechenden Wert zugegriffen werden. In Golang können wir die Make-Funktion verwenden, um ein Kartenobjekt zu erstellen. Die Syntax lautet wie folgt:

m := make(map[keyType] valueType)

Dabei repräsentiert keyType den Typ des Schlüssels und valueType den Typ des Werts. Nachdem wir das Kartenobjekt erstellt haben, können wir den entsprechenden Wert über den Schlüssel abrufen und mit der Len-Funktion die Anzahl der Elemente in der Karte ermitteln. Map bietet außerdem eine Reihe integrierter Funktionen, z. B. die Löschfunktion zum Löschen bestimmter Schlüssel-Wert-Paare und die Range-Funktion zum Durchlaufen aller Elemente in der Karte.

Das Folgende ist ein einfacher Beispielcode, der die grundlegende Verwendung von Map demonstriert:

package main

import "fmt"

# 🎜🎜#func main() {

// 创建map对象
var m map[string]int
fmt.Println(m) // 输出空map对象

// 使用make函数创建map对象
m = make(map[string]int)
fmt.Println(m) // 输出空map对象

// 添加键值对
m["one"] = 1
m["two"] = 2
m["three"] = 3
fmt.Println(m)          // 输出{"one": 1, "two": 2, "three": 3}
fmt.Println(len(m))     // 输出3
fmt.Println(m["three"]) // 输出3

// 删除键值对
delete(m, "two")
fmt.Println(m)      // 输出{"one": 1, "three": 3}
fmt.Println(len(m)) // 输出2

// 遍历map
for k, v := range m {
    fmt.Println(k, v)
}

}

2. Vorgänge zum Hinzufügen, Löschen und Ändern von Karten

    Schlüssel zum Hinzufügen von Karten -Wert-Paar# 🎜🎜#
  1. In Golang ist das Hinzufügen neuer Schlüssel-Wert-Paare zur Karte sehr einfach. Sie müssen nur den Indexoperator [] verwenden, um dies zu erreichen. Wenn der Schlüssel nicht vorhanden ist, wird ein neues Schlüssel-Wert-Paar erstellt. Wenn der Schlüssel bereits vorhanden ist, wird der ursprüngliche Wert überschrieben. Hier ist ein Beispielcode:

m := make(map[string]int)

m["one"] = 1

m["two"] = 2# 🎜🎜#m["drei"] = 3

Dieser Code erstellt ein leeres Kartenobjekt und fügt ihm dann drei Schlüssel-Wert-Paare hinzu. Wenn Sie der Karte mehrere Schlüssel-Wert-Paare hinzufügen möchten, können Sie dazu eine Schleifenanweisung verwenden.

map Schlüssel-Wert-Paare löschen

  1. Um Schlüssel-Wert-Paare in der Karte zu löschen, können Sie die integrierte Funktion delete verwenden von Golang. Die Löschfunktion muss zwei Parameter übergeben. Der erste Parameter stellt das zu löschende Kartenobjekt dar und der zweite Parameter stellt den zu löschenden Schlüssel dar. Wenn der Schlüssel vorhanden ist, wird sein entsprechender Wert gelöscht. Wenn der Schlüssel nicht vorhanden ist, führt die Funktion keine Aktion aus.
Das Folgende ist ein Beispielcode:

m := make(map[string]int)

m["one"] = 1

m ["zwei"] = 2

m["drei"] = 3

delete(m, "zwei") // Schlüssel-Wert-Paar mit Schlüssel "zwei" löschen# 🎜🎜 #

map ändert Schlüssel-Wert-Paare

    Es ist auch sehr einfach, die Schlüssel-Wert-Paare in der Karte zu ändern. Sie müssen nur verwenden der Indexoperator [], um dies zu erreichen. Wenn der Schlüssel nicht vorhanden ist, wird ein neues Schlüssel-Wert-Paar erstellt. Wenn der Schlüssel bereits vorhanden ist, wird der ursprüngliche Wert überschrieben. Hier ist ein Beispielcode:
  1. m := make(map[string]int)
m["one"] = 1

m["one" ] = 10 // Ändern Sie den Wert des Schlüssels auf „eins“ in 10


Den Wert in der Karte sicher abrufen

    Wenn wir sind Wenn der entsprechende Schlüssel nicht vorhanden ist, wenn der Wert in der Karte vorhanden ist, gibt die Karte einen Nullwert des Werttyps zurück, was zu Problemen führen kann. Um dies zu vermeiden, können wir zur Überprüfung ok-idiom verwenden. ok-idiom bedeutet, dass beim Abrufen des Werts in der Karte zunächst eine Variable vom Typ Bool verwendet wird, um zu empfangen, ob der Schlüssel vorhanden ist, und dann der Wert Bool verwendet wird, um zu bestimmen, ob der Wert sicher abgerufen werden kann. Hier ist ein Beispielcode:
  1. m := make(map[string]int)
m["one"] = 1

if val, ok : = m["two"]; ok {

fmt.Println(val)

} else {

fmt.Println("key not exist")

}

Im obigen Code versuchen wir zuerst zu bekommen Schlüssel ist der Wert von „zwei“. Wenn der Schlüssel nicht existiert, wird „Schlüssel nicht vorhanden“ ausgegeben. Durch die Verwendung von ok-idiom können potenzielle Fehler vermieden werden, die durch das Auftreffen nicht vorhandener Schlüssel bei der Verwendung von Map verursacht werden.

Zusammenfassung

In diesem Artikel wird die grundlegende Verwendung der Kartendatenstruktur in Golang sowie das Hinzufügen, Löschen und Ändern einer Karte vorgestellt. Die Beherrschung der grundlegenden Verwendung von Maps ist für Golang-Programmierer sehr wichtig und wird in der tatsächlichen Entwicklung häufig verwendet. Bei der Verwendung von Map müssen wir darauf achten, Probleme wie Nullzeigerausnahmen zu vermeiden, um sicherzustellen, dass das Programm normal ausgeführt wird.

Das obige ist der detaillierte Inhalt vonHinzufügen, Löschen und Ändern der Golang-Karte. 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