Golang klare Karte

WBOY
Freigeben: 2023-05-19 11:06:40
Original
1433 Leute haben es durchsucht

In Golang ist Karte ein sehr wichtiger Datentyp, der es uns ermöglicht, Daten in Form von Schlüssel-Wert-Paaren zu speichern und darauf zuzugreifen. Wenn wir jedoch eine Karte verwenden, werden wir unweigerlich auf Situationen stoßen, in denen wir die Karte löschen müssen. In diesem Artikel werden drei Methoden zum Löschen von Karten in Golang vorgestellt.

  1. Eine neue Karte direkt neu zuweisen

Dies ist die einfachste und direkteste Methode. Wir können eine neue Karte direkt neu zuweisen, um die ursprüngliche Karte zu überschreiben und dadurch alle Schlüssel-Wert-Paare zu löschen. Der Beispielcode lautet wie folgt:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2}
    fmt.Println("Before clearing:", m)

    m = make(map[string]int)
    fmt.Println("After clearing:", m)
}
Nach dem Login kopieren

Das Ausgabeergebnis lautet wie folgt:

Before clearing: map[a:1 b:2]
After clearing: map[]
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode eignet sich besser für Karten mit weniger Daten, da sie für Karten mit größeren Datenmengen geeignet ist Daten, eine Neuzuweisung ist erforderlich. Eine neue Karte führt zu einer sehr teuren Speicherzuweisung und Speicherbereinigung.

  1. Verwenden Sie eine for-Schleife, um Schlüssel-Wert-Paare zu löschen.

Eine andere Möglichkeit, die Karte zu löschen, besteht darin, eine for-Schleife zu verwenden, um alle Schlüssel zu löschen -Wert-Paare. Im Vergleich zur direkten Neuzuweisung einer neuen Karte eignet sich diese Methode besser für Karten mit großen Datenmengen. Der Beispielcode lautet wie folgt:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2}
    fmt.Println("Before clearing:", m)

    for k := range m {
        delete(m, k)
    }

    fmt.Println("After clearing:", m)
}
Nach dem Login kopieren

Die Ausgabe lautet wie folgt:

Before clearing: map[a:1 b:2]
After clearing: map[]
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode verwendet eine for-Schleife, um alle Schlüssel in der Map zu durchlaufen und sie mit zu löschen Löschfunktion. Es ist jedoch zu beachten, dass wir beim Durchqueren der Karte das Schlüsselwort „range“ verwenden müssen, um eine Änderung der durchquerten Karte zu vermeiden. Andernfalls werden einige Schlüssel-Wert-Paare gelöscht, während andere beibehalten werden.

  1. Setzen Sie die Kartenlänge auf 0

Die letzte Methode besteht darin, die Kartenlänge auf 0 zu setzen, sodass alle Schlüsselwerte vorhanden sind Darin kann richtig geklärt werden. Der Beispielcode lautet wie folgt:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2}
    fmt.Println("Before clearing:", m)

    for i := range m {
        delete(m, i)
    }
    m = make(map[string]int, 0)

    fmt.Println("After clearing:", m)
}
Nach dem Login kopieren

Das Ausgabeergebnis lautet wie folgt:

Before clearing: map[a:1 b:2]
After clearing: map[]
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode kann die Neuzuweisung von Speicher und die Verwendung von for-Schleifen vermeiden. Es ist jedoch zu beachten, dass wir vor dem Festlegen der Länge der Karte auf 0 noch eine for-Schleife verwenden müssen, um alle Schlüssel-Wert-Paare in der Karte zu löschen. Andernfalls behält die Karte noch einige Schlüssel-Wert-Paare bei, deren Werte jedoch Null sind.

Zusammenfassend können wir drei verschiedene Methoden verwenden, um die Karte zu löschen. Die beste Vorgehensweise hängt von der Größe der Karte und der erforderlichen Räumleistung ab. Unabhängig davon, welche Methode Sie verwenden, sollten Sie jedoch darauf achten, die Daten in der Karte zu schützen, um ein versehentliches Löschen wichtiger Schlüssel-Wert-Paare zu vermeiden.

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