Golang-Map-Löschelement

王林
Freigeben: 2023-05-10 12:21:06
Original
1224 Leute haben es durchsucht

Map in Golang ist eine sehr nützliche Datenstruktur, die ein Schlüssel-Wert-Paar einem anderen Wert zuordnen kann und so eine schnelle Suche und Speicherung ermöglicht. Normalerweise fügen wir Elemente zu einer Karte hinzu, aber manchmal müssen wir auch Elemente aus der Karte löschen. In diesem Artikel wird erläutert, wie Elemente in einer Karte in Golang gelöscht werden.

  1. Ein einzelnes Element löschen

Die Methode zum Löschen eines einzelnen Elements ist sehr einfach, verwenden Sie einfach die Funktion delete(). Zum Beispiel:

package main

import "fmt"

func main() {
    // 定义一个字符串到整数的map
    m := map[string]int{"a": 1, "b": 2, "c": 3}

    // 删除key为a的元素
    delete(m, "a")

    // 输出map中的元素
    fmt.Println(m) // 输出:map[b:2 c:3]
}
Nach dem Login kopieren

Wir definieren zunächst eine Zuordnung von String zu Integer und verwenden dann die Funktion delete(), um das Element mit der Taste a zu löschen. Abschließend werden die Elemente in der Karte ausgegeben und Sie können sehen, dass Element a gelöscht wurde.

  1. Nicht vorhandene Elemente löschen

Wenn wir ein Element löschen, das nicht in der Karte vorhanden ist, generiert die Funktion delete() keinen Fehler und nimmt keine Änderungen an der Karte vor. Zum Beispiel:

package main

import "fmt"

func main() {
    // 定义一个字符串到整数的map
    m := map[string]int{"a": 1, "b": 2, "c": 3}

    // 删除key为d的元素
    delete(m, "d")

    // 输出map中的元素
    fmt.Println(m) // 输出:map[a:1 b:2 c:3]
}
Nach dem Login kopieren

Im obigen Beispiel haben wir das Element mit Schlüssel d gelöscht, das in der Karte nicht vorhanden war, aber das Programm hat keinen Fehler gemeldet und keine Änderungen an der Karte vorgenommen.

  1. Alle Elemente löschen

Um alle Elemente zu löschen, können wir eine for-Schleife verwenden, um die Karte zu durchlaufen und dann jedes Element nacheinander zu löschen. Zum Beispiel:

package main

import "fmt"

func main() {
    // 定义一个字符串到整数的map
    m := map[string]int{"a": 1, "b": 2, "c": 3}

    // 删除所有元素
    for k := range m {
        delete(m, k)
    }

    // 输出map中的元素
    fmt.Println(m) // 输出:map[]
}
Nach dem Login kopieren

Im obigen Beispiel definieren wir zunächst eine Zuordnung von einer Zeichenfolge zu einer Ganzzahl und verwenden dann eine for-Schleife, um die Zuordnung zu durchlaufen und jedes Element nacheinander zu löschen. Abschließend werden die Elemente in der Karte ausgegeben und Sie können sehen, dass die Karte leer ist.

Es ist zu beachten, dass wir beim Löschen von Elementen in der Karte keine Schleife wie for i, val := range m verwenden können, da diese Schleife die Elemente der Karte zweimal durchläuft und nach dem Löschen der Elemente die Länge beträgt der Karte Sowohl der Zähler i als auch die Durchquerung ändern sich, was zum Absturz des Programms führen kann. Daher können wir zum Durchlaufen der Karte nur eine Schleife wie for k := range m verwenden.

Zusammenfassung:

Um Elemente in einer Karte in Golang zu löschen, können wir die Funktion delete() verwenden, um ein einzelnes Element zu löschen, oder wir können eine for-Schleife verwenden, um die Karte zu durchlaufen und dann jedes Element nacheinander zu löschen. Es ist zu beachten, dass beim Löschen von Elementen in einer Karte eine Schleife wie for k := range m zum Durchlaufen der Karte verwendet werden sollte, eine Schleife wie for i, val := range m jedoch nicht verwendet werden kann, da sonst ein Programm erstellt wird Es kann ein Fehler auftreten.

Das obige ist der detaillierte Inhalt vonGolang-Map-Löschelement. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage