LoginSignup
2
1

More than 3 years have passed since last update.

Golang ~map~【Golangをイマサラ学び始めた】

Posted at

Mapとは

キーを組み合わせたデータ構造
RubyでいうところのHashみたいなところか…?って認識

Mapの作り方

空のMapの作り方 その1

import ("fmt")

func main() {
var m map[string]int = map[string]int{}
fmt.Println(m)
}

実行結果

map[]

空のMapの作り方 その2

import ("fmt")

func main() {
m := map[string]int{}
fmt.Println(m)

実行結果

map[]

空のMapの作り方 その3

import ("fmt")

func main() {
m := make(map[string]int)
fmt.Println(m)
}

実行結果

map[]

中身のあるMapの作り方

中身のあるMapの作り方

import ("fmt")

func main() {
var m map[string]int = map[string]int{"hoge": 10, "fuga": 20, "piyo": 30}
fmt.Println(m)
}
  • キーと値をコロン:で繋いであげればOK
  • 要素の間にはカンマ,忘れずに入れてあげる
import ("fmt")

func main() {
var m map[string]int = map[string]int{
     "hoge": 10, 
     "fuga": 20, 
     "piyo": 30,
}
fmt.Println(m)
}

改行するとこんな感じ
最後の要素にカンマ,入れないといけないのだけ注意

実行結果

map[fuga:20 hoge:10 piyo:30]

中身のあるのMapの作り方 その2

import ("fmt")

func main() {
m := map[string]string{
    "hoge": "hogehoge",
    "fuga": "fugafuga",
    "piyo": "piyopiyo",
}
fmt.Println(m)
}

実行結果

map[fuga:fugafuga hoge:hogehoge piyo:piyopiyo]

存在するMapに要素を追加する時

import ("fmt")

func main() {
m := map[string]int {
    "hoge": 10,
   }
}

mに要素を追加したいときは

m["fuga"] = 20
m["piyo"] = 30

という感じで追加できる

make()で作ったMapに要素を追加する

m := make(map[string]int)
m["hoge"] = 10
m["fuga"] = 20

fmt.Println(m)

実行結果

map[fuga:20 hoge:10]

Mapの並び順(バージョン1.12以降)

1.11までは、生成順で表示されていまいしたが
1.12以降はキー順で返されるようになりました

例 1.11まで

import ("fmt")

func main() {
m := map[string]string{
    "hoge": "hogehoge",
    "fuga": "fugafuga",
    "piyo": "piyopiyo",
}
fmt.Println(m)
}

実行結果

map[hoge:hogehoge fuga:fugafuga piyo:piyopiyo]

例 1.12以降

import ("fmt")

func main() {
m := map[string]string{
    "hoge": "hogehoge",
    "fuga": "fugafuga",
    "piyo": "piyopiyo",
}
fmt.Println(m)
}

実行結果

map[fuga:fugafuga hoge:hogehoge piyo:piyopiyo]

参考

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1