LoginSignup
1
0

More than 5 years have passed since last update.

Go言語(Golang)のmap

Posted at

Go言語 map関数について

Golangにおけるmapについてメモしておこうと思います.

基本文法

map.go
package main

import "fmt"

func main() {
    m := map[string]int{"apple": 100, "banana": 200}
    fmt.Println(m)
    fmt.Println(m["banana"])

とします.こうすることで出力として

map[apple:100 banana:200]
200

と出力されます.
mapの作成,および中身の取り出し方は以上です.

要素の追加

さて,要素を追加したいときはどうするかですが

map2.go
package main

import "fmt"

func main() {
    m := map[string]int{"apple": 100, "banana": 200}
    m["lemon"] = 500 
    fmt.Println(m)

とすることによって出力が

map[apple:100 banana:200 lemon:500]

となるのがわかります.

要素の有無の確認

mapが辞書型のように使われることがわかりました.
では,要素の有無を判断するにはどうしたらよいでしょうか.
返り値を2つ用意して中身とブール型の真偽を得ることが出来ます.

map3.go
package main

import "fmt"

func main() {
    m := map[string]int{"apple": 100, "banana": 200}

    v, ok := m["apple"]
    fmt.Println(v, ok)

値(value)と,真理値(ok)を判断すると出力が以下のように得られます.

100
true

無事,appleの100,およびtrueが得られました.この指定された要素が存在しないときは0のみが返ってきます.また,補足ですが2つ目の返り値は必ずしも必要なく省略可能です.したがって

map3-0.go
    v := m["apple"]
    fmt.Println(v)

としてもOKです.

1
0
0

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
1
0