Heim >Backend-Entwicklung >Golang >Verwendung von Map Golang
Golang ist eine sehr leistungsfähige Programmiersprache mit hoher Effizienz und einfacher und leicht zu erlernender Syntax. Einer der Hauptgründe für die Vorteile von Go sind die integrierten Datenstrukturen wie Karten. In diesem Artikel werfen wir einen tieferen Blick auf die Verwendung von Go-Karten.
Go Map ist eine ungeordnete Sammlung von Schlüssel-Wert-Paaren, was bedeutet, dass Sie jede Art von Wert als Schlüssel und Wert verwenden können. Die Schlüssel-Wert-Paare innerhalb der Karte werden nicht in einer bestimmten Reihenfolge gespeichert, sondern in der Reihenfolge ihrer Hashwerte. Wir werden diese Funktion weiter unten besprechen.
Um eine Karte in Go zu erstellen, müssen Sie die integrierte Funktion make() verwenden. Sehen wir uns an, wie man eine Karte erstellt und ihr Schlüssel-Wert-Paare hinzufügt.
m := make(map[string]int) // 创建一个字符串为键,int 类型为值的 map m["foo"] = 42 // 向 map 中添加键为 "foo" 的值为 42 fmt.Println(m["foo"]) // 输出 map 中键为 "foo" 的值,输出 42
In diesem Beispiel erstellen wir eine Map mit String-Schlüsseln und Int-Werten und fügen dann den Wert 42 mit dem Schlüssel „foo“ hinzu. Die letzte Codezeile gibt den Wert in der Map mit dem Schlüssel „foo“ aus, sodass wir als Ausgabe 42 erhalten.
Es gibt auch eine alternative Möglichkeit, den Anfangswert beim Erstellen der Karte anzugeben. Sie können es wie folgt versuchen:
m := map[string]int { "foo": 42, "bar": 24, }
In diesem Beispiel haben wir eine Map mit zwei Schlüssel-Wert-Paaren erstellt, wobei der Schlüssel „foo“ einen Wert von 42 und der Schlüssel „bar“ einen Wert von 24 hat.
Um auf den Wert einer Map in Go zuzugreifen, können Sie die folgende Methode verwenden:
val, ok := m["foo"] fmt.Println(val, ok) // 输出 42, true
Hier speichert die Variable val den Wert des Schlüssels „foo“ in der Map und das ok Die Variable gibt an, ob der Schlüssel in der Map vorhanden ist. Ein Eintrag für „foo“.
Wenn es keinen solchen Eintrag in der Karte gibt (d. h. „foo“ ist kein Schlüssel), dann ist die ok-Variable falsch. Wenn Sie also überprüfen möchten, ob auf den Wert in der Karte erfolgreich zugegriffen wurde, können Sie den Wert der Variablen ok überprüfen.
Das Iterieren über Werte in einer Karte ist in Go einfach, Sie können eine For-Range-Schleife verwenden.
m := map[string]int { "foo": 42, "bar": 24, } for k, v := range m { fmt.Printf("key: %s, value: %d ", k, v) } // 输出: // key: foo, value: 42 // key: bar, value: 24
In diesem Beispiel verwenden wir eine for-range-Schleife, um die Schlüssel und Werte in Karte m zu durchlaufen und sie in jeder Iteration auszugeben. Beachten Sie, dass die Syntax der for-Schleife nicht nur die Schlüssel der Karte, sondern auch die Werte in der Karte iteriert.
Das Löschen von Werten in der Go-Karte ist ebenfalls sehr einfach, Sie müssen nur die Funktion delete() verwenden.
m := map[string]int { "foo": 42, "bar": 24, } delete(m, "foo") // 删除 map 中键为 "foo" 的键值对
In diesem Beispiel verwenden wir die Funktion delete(), um das Schlüssel-Wert-Paar mit dem Schlüssel „foo“ in der Map zu löschen. Nach dem Löschen enthält die Karte keinen Eintrag mehr mit dem Schlüssel „foo“.
In Go verfügt die Karte über Größen- und Kapazitätseigenschaften. Im Gegensatz zu Datenstrukturen in anderen Sprachen verfügen Karten in Go jedoch nicht über ein explizites Kapazitätsattribut. Wenn Sie also die Größe der Karte wissen möchten, müssen Sie die integrierte Funktion len() wie unten gezeigt verwenden:
m := map[string]int { "foo": 42, "bar": 24, } fmt.Println(len(m)) // 输出长度为 2
Hier verwenden wir die Funktion len(), um die Länge der Karte m auszugeben, und ihre Ausgabe ist 2.
Karte ist eine sehr leistungsstarke Datenstruktur, die jedoch mit Vorsicht verwendet werden muss. Da es sich bei Map um eine dynamische Hash-Tabelle handelt, halten viele Entwickler sie für schneller als andere Datenstrukturen. Im realen Einsatz kann die Kartenleistung jedoch durch Speicherverwaltung und Hash-Konflikte beeinträchtigt werden, was zu langsamerem Code führt.
Hier sind einige Vorschläge für die Verwendung von Go-Maps:
Trotzdem ist die Karte eine sehr praktische und flexible Datenstruktur. Wenn Sie es sinnvoll nutzen, ist es ideal für Ihren Go-Code.
In diesem Artikel haben wir etwas über die Verwendung von Karten in Golang gelernt. Wir haben gelernt, wie man Einträge in einer Karte erstellt, darauf zugreift, iteriert und löscht und wie man die Größe und Kapazität einer Karte anzeigt. Gleichzeitig geben wir auch einige Vorschläge zur Verwendung von Karten und hoffen, Ihnen dabei zu helfen, diese Datenstruktur in Go besser zu nutzen.
Das obige ist der detaillierte Inhalt vonVerwendung von Map Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!