Heim >Backend-Entwicklung >Golang >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 vonzu tun, unabhängig davon, ob er während der Iteration durchlaufen wurde oder nicht von
ist nicht sicher, ob es zuwechseln kann
Nicht initialisierte Karte kann auch iteriert werdenAndere
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 erhaltenDas 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!