Edited at

Go言語: いろいろなマップの作り方まとめ

More than 3 years have passed since last update.


空っぽのマップを作る


パターン1: var variable map[ key_type ] value_type = map[ key_type ] valutetype_

長い書き方。

var languages map[string]string = map[string]string{}

実行結果

map[string]string(nil)


パターン2: variable := make(map[ key_type ] value_type )

make を使った書き方。

languages := make(map[string]string)

実行結果

map[string]string{}

予め指定した要素数分のメモリを確保することもできる。

// 要素42個分の領域を予め確保

languages := make(map[string]string, 42)


パターン3: variable := map[ key_type ] value_type {}

短い書き方。

languages := map[string]string{}

実行結果

map[string]string{}


要素が入ったマップを作る


パターン1

長い書き方。

var languages map[string]string = map[string]string{"go":"golang", "rb":"ruby", "js":"javascript"}

実行結果

map[string]string{"go":"golang", "rb":"ruby", "js":"javascript"}


パターン2

短い書き方。

languages := map[string]string{"go":"golang", "rb":"ruby", "js":"javascript"}

実行結果

map[string]string{"go":"golang", "rb":"ruby", "js":"javascript"}


パターン3

各要素を改行する場合は、1要素ごとに カンマ,をつけないとパースエラーになるので注意。

languages := map[string]string{

"go":"golang",
"rb":"ruby",
"js":"javascript",
}


パターン4

make で作った時はキーを指定して代入する。

languages := make(map[string]string)

languages["go"] = "golang"
languages["rb"] = "ruby"
languages["js"] = "javascript"