Wie verwende ich Zuordnungstypen in der Go-Sprache?

PHPz
Freigeben: 2024-03-23 10:12:04
Original
628 Leute haben es durchsucht

Wie verwende ich Zuordnungstypen in der Go-Sprache?

Wie verwende ich Zuordnungstypen in der Go-Sprache?

In der Go-Sprache ist Map eine integrierte Datenstruktur, die zum Speichern von Schlüssel-Wert-Paaren verwendet wird. Karten ermöglichen das schnelle Abrufen von Werten anhand eines Schlüssels, ähnlich wie Wörterbücher oder Hash-Tabellen in anderen Sprachen. In diesem Artikel stellen wir die Grundkonzepte der Kartentypen in der Go-Sprache vor und zeigen, wie Karten zum Speichern und Abrufen von Daten verwendet werden.

Eine Karte erstellen

Um eine Karte zu erstellen, können Sie die Funktion make in der Go-Sprache verwenden, um eine leere Karte zu initialisieren und die Schlüssel- und Werttypen anzugeben. Hier ist ein einfaches Beispiel: make函数来初始化一个空的映射,并指定键和值的类型。下面是一个简单的示例:

package main

import "fmt"

func main() {
    // 创建一个映射,键是字符串类型,值是整数类型
    m := make(map[string]int)
    
    // 添加键值对到映射中
    m["apple"] = 10
    m["banana"] = 5
    
    fmt.Println(m) // 输出map[apple:10 banana:5]
}
Nach dem Login kopieren

在上面的示例中,我们创建了一个映射m,键的类型是字符串,值的类型是整数。然后,我们向映射中添加了两组键值对,分别是apple:10banana:5。最后,使用fmt.Println函数输出整个映射。

访问和修改映射中的元素

要访问映射中的元素,可以通过键来索引映射。如果键存在,则会返回对应的值;如果键不存在,则会返回值类型的零值。示例如下:

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    m["banana"] = 5

    // 访问映射中的元素
    fmt.Println("apple:", m["apple"]) // 输出:apple: 10
    fmt.Println("orange:", m["orange"]) // 输出:orange: 0
}
Nach dem Login kopieren

在上面的示例中,我们访问了映射中的appleorange键的值,如果键存在,则打印对应的值;如果键不存在,则打印值类型的零值。

如果需要修改映射中的元素,只需通过键重新赋值即可。示例如下:

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    fmt.Println("apple:", m["apple"]) // 输出:apple: 10
    
    m["apple"] = 20 // 修改键值对
    fmt.Println("apple:", m["apple"]) // 输出:apple: 20
}
Nach dem Login kopieren

在上面的示例中,我们将映射中apple键的值从10修改为20,并输出修改后的结果。

删除映射中的元素

可以使用delete函数来删除映射中的元素。示例如下:

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    fmt.Println("apple:", m["apple"]) // 输出:apple: 10
    
    delete(m, "apple") // 删除键值对
    fmt.Println("apple:", m["apple"]) // 输出:apple: 0
}
Nach dem Login kopieren

在上面的示例中,我们使用delete函数删除了映射中的apple键值对,然后访问apple键时会返回值类型的零值。

迭代映射

可以使用for range语句来迭代映射中的键值对。示例如下:

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    m["banana"] = 5

    // 遍历映射
    for k, v := range m {
        fmt.Println(k, ":", v)
    }
}
Nach dem Login kopieren

在上面的示例中,我们使用for range语句遍历了映射mrrreee

Im obigen Beispiel erstellen wir eine Map m mit Schlüsseln vom Typ String und Werten vom Typ Integer. Dann haben wir der Karte zwei Sätze von Schlüssel-Wert-Paaren hinzugefügt, nämlich apple:10 und banana:5. Verwenden Sie abschließend die Funktion fmt.Println, um die gesamte Karte auszugeben.

Auf Elemente in einer Karte zugreifen und diese ändern

Um auf Elemente in einer Karte zuzugreifen, können Sie die Karte nach Schlüssel indizieren. Wenn der Schlüssel vorhanden ist, wird der entsprechende Wert zurückgegeben. Wenn der Schlüssel nicht vorhanden ist, wird ein Nullwert des Werttyps zurückgegeben. Ein Beispiel ist wie folgt:
    rrreee
  1. Im obigen Beispiel greifen wir auf die Werte der Schlüssel apple und orange in der Karte zu. Wenn der Schlüssel vorhanden ist, drucken der entsprechende Wert; wenn der Schlüssel nicht vorhanden ist, wird ein Nullwert des Werttyps gedruckt.
  2. Wenn Sie ein Element in der Karte ändern müssen, weisen Sie es einfach per Taste neu zu. Ein Beispiel ist wie folgt:
  3. rrreee
  4. Im obigen Beispiel ändern wir den Wert des Schlüssels apple in der Karte von 10 auf 20 und geben das geänderte Ergebnis aus.
Elemente in der Karte löschen

Mit der Funktion löschen können Sie Elemente in der Karte löschen. Ein Beispiel ist wie folgt: 🎜rrreee🎜Im obigen Beispiel verwenden wir die Funktion delete, um das Schlüssel-Wert-Paar apple in der Karte zu löschen und greifen dann auf apple Der Schlüssel gibt den Nullwert des Werttyps zurück. 🎜🎜Iterieren Sie die Karte🎜🎜Sie können die Anweisung for range verwenden, um die Schlüssel-Wert-Paare in der Karte zu iterieren. Ein Beispiel ist wie folgt: 🎜rrreee🎜Im obigen Beispiel verwenden wir die Anweisung for range, um alle Schlüssel-Wert-Paare in der Karte m zu durchlaufen und die Schlüssel und auszugeben Werte nacheinander. 🎜🎜Hinweise🎜🎜Bei der Verwendung von Mapping müssen Sie die folgenden Punkte beachten: 🎜🎜🎜Map ist ein Referenztyp und speichert Referenzen auf Schlüssel-Wert-Paare, sodass durch die Übergabe der Map beim Aufruf einer Funktion keine Kopie erstellt wird. 🎜🎜Die Schlüssel in der Karte müssen vergleichbare Typen sein, z. B. Basistypen, Zeigertypen, Array-Typen, Strukturtypen usw. 🎜🎜Die Werte in der Karte können von beliebigem Typ sein, einschließlich Funktionen, Slices, Karten usw. 🎜🎜🎜Zusammenfassung: In diesem Artikel wird erläutert, wie Sie Kartentypen in der Go-Sprache erstellen, darauf zugreifen, ändern, löschen und iterieren. Durch die Einführung in die grundlegenden Operationen und Vorsichtsmaßnahmen des Mappings können Leser die Mapping-Datenstruktur in der Go-Sprache besser verstehen und verwenden. Ich hoffe, dieser Artikel ist hilfreich für Sie. 🎜

Das obige ist der detaillierte Inhalt vonWie verwende ich Zuordnungstypen in der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!