Heim >Backend-Entwicklung >Golang >So erweitern Sie die Hashmap von Golang

So erweitern Sie die Hashmap von Golang

(*-*)浩
(*-*)浩Original
2019-12-28 09:52:002889Durchsuche

So erweitern Sie die Hashmap von Golang

Hashmap-Variablen definieren

Da die Go-Sprache eine stark typisierte Sprache ist, wird Hashmap auch typisiert, was sich insbesondere im Schlüssel und Wert widerspiegelt Der Typ muss angegeben werden. Um beispielsweise einen Schlüssel als String und einen Wert als Map eines Strings zu deklarieren, müssen Sie Folgendes tun: (Empfohlenes Lernen: go)

var m map[string]string // 声明一个hashmap,还不能直接使用,必须使用make来初始化
m = make(map[string]string) // 初始化一个map
m = make(map[string]string, 3) // 初始化一个map并附带一个可选的初始bucket(非准确值,只是有提示意义)

m := map[string]string{} // 声明并初始化

m := make(map[string]string) // 使用make来初始化

get, set,delete

m := map[string]int
m["a"] = 1
fmt.Println(m["a"]) // 输出 1
// 如果访问一个不存在的key,返回类型默认值
fmt.Println(m["b"]) // 输出0
// 测试key是否存在
v, ok := m["b"]
if ok {
    ...
}
// 删除一个key
delete(m, "a")
迭代器
// 只迭代key
for k := range m {
    ...
}
// 同时迭代key-value
for k, v := range m {
    ...
}

Während des Iterationsprozesses kann die Karte gelöscht und aktualisiert werden. Die Regeln lauten wie folgt:

Die Iteration ist ungeordnet Dieselbe Reihenfolge wie beim Einfügen. Es hat nichts mit

Das Löschen eines Schlüssels während der Iteration von

zu tun, unabhängig davon, ob er während der Iteration durchlaufen wurde oder nicht von

ist nicht sicher, ob es zu

wechseln kann

Nicht initialisierte Karte kann auch iteriert werden

Andere

Der Wert der Karte ist nicht adressierbar , was bedeutet, dass die Syntax von &m["a"] ungültig ist

len und cap können jeweils die Anzahl der kv und die Gesamtkapazität der aktuellen Karte erhalten

Das obige ist der detaillierte Inhalt vonSo erweitern Sie die Hashmap von Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Was kann Golang tun?Nächster Artikel:Was kann Golang tun?