ホームページ  >  記事  >  バックエンド開発  >  golangのハッシュマップを展開する方法

golangのハッシュマップを展開する方法

(*-*)浩
(*-*)浩オリジナル
2019-12-28 09:52:002855ブラウズ

golangのハッシュマップを展開する方法

ハッシュマップ変数の定義

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。