ハッシュマップ変数の定義
Go 言語は厳密に型指定された言語であるため、ハッシュマップも型指定され、具体的にはキーと値に反映されます。たとえば、キーを文字列として宣言し、値を文字列のマップとして宣言する場合、これを行う必要があります (推奨学習: 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 { ... }
反復プロセス中に、マップを削除および更新できます。ルールは次のとおりです:
反復は順序付けされていません。無関係
反復プロセス中にキーを削除します。走査されたかどうかに関係なく、
までは走査されません。反復処理でキーが追加されます。
までトラバースできるかは不明です。初期化されていないマップも反復可能です。
その他
マップの値はアドレスではありません。つまり、&m["a"] の構文は Illegal
len と cap はそれぞれ現在のマップの kv 数と総容量を取得できます
以上がgolangのハッシュマップを展開する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。