Der Kartendatentyp ist in vielen Sprachen verfügbar. Es handelt sich um eine Hash-Tabelle in Form von Schlüssel und Wert, sodass Schlüssel und Wert einzeln zugeordnet werden können schnelles Suchen und Hinzufügen, Löschen und andere Vorgänge. Die Go-Sprache stellt keine Ausnahme dar und stellt den Kartendatenstrukturtyp bereit.
Verwenden Sie nicht die integrierte Karte Wie beim Pointer-Slicing zeigt es auf Null, nachdem es mit dem folgenden Code deklariert wurde. Dies wird auch in der offiziellen Golang-Dokumentation erläutert. Verwenden Sie es daher niemals direkt nach der Deklaration. Sie können zunächst häufig die folgenden Fehler machen:
var m map[string]string m["result"] = "result"
m := make(map[string]string) m["result"] = "result"
Die Karte in Golang ist
häufig nicht nebenläufigkeitssicher Die Verwendung der Karte macht normalerweise sehr viel Spaß, aber eines Tages nimmt der Datenverkehr zu und das Programm hängt sich auf, ohne es zu merken, aber vorher hat es einwandfrei funktioniert. Daher sollten zu Beginn einige gute Gewohnheiten entwickelt werden, z. B. die Überprüfung von Behauptungen, Überlegungen zur Sicherheit der Parallelität usw.
Vielleicht können Sie sync.Map ausprobierenDie sync.Map in Golang ist parallelitätssicher. Tatsächlich handelt es sich um eine von Golang angepasste Struktur namens Map im Sync-Paket. Der Strukturprototyp lautet wie folgt:type Map struct { mu Mutex read atomic.Value // readOnly dirty map[interface{}]*entry misses int }
var m sync.Map m.Store("method", "eth_getBlockByHash") value, ok := m.Load("method") t.Logf("value=%v,ok=%v\n",value,ok)
Das obige ist der detaillierte Inhalt vonWozu dient die Golang-Karte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!