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


空っぽのマップを作る

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

長い書き方。

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"

最後までお読みくださりありがとうございました。Twitterでは、Qiitaに書かない技術ネタなどもツイートしているので、よかったらフォローお願いしますTwitter@suin