Closed3

Goのマップへのキーバリューの追加・削除・更新方法をまとめる

ハガユウキハガユウキ

Goのマップとは

  • Goのマップとは、参照型の一つで、任意の型のキーと任意の型の要素のペアを保持できる特殊な配列と覚えておけばOK。
  • 気をつけたいのは、キーごとに異なる型、バリューごとに異なる型を持つみたいなのはできない。キーごとに同じ型、バリューごとに同じ型である。バリューごとに異なる型を使いたいなら、構造体を使えば良い。
  • Goのマップを表す型はmap[キーの型]要素の型
package main

import "fmt"

func main() {
    m := map[string]int{
        "ウマ娘 プリティダービー": 202102,
        "セブンズストーリー": 201708,
    }

    fmt.Println(m) // => map[ウマ娘 プリティダービー:202102 セブンズストーリー:201708]
}
ハガユウキハガユウキ

マップのキーバリューの追加、バリューの変更、キーバリューの削除、キーの存在確認

package main

import "fmt"

func main() {
    m := map[string]int{
        "ウマ娘 プリティダービー": 202102,
        "セブンズストーリー": 201708,
    }

    fmt.Println(m) // => map[ウマ娘 プリティダービー:202102 セブンズストーリー:201708]

    // 値の追加
    m["ワールドフリッパー"] = 201911
    fmt.Println(m) // => map[ウマ娘 プリティダービー:202102 セブンズストーリー:201708 ワールドフリッパー:201911]

    // 値の変更
    m["ワールドフリッパー"] = 202301
    fmt.Println(m) // => map[ウマ娘 プリティダービー:202102 セブンズストーリー:201708 ワールドフリッパー:202301]

    // 値の削除(delete関数を使う)
    delete(m, "ワールドフリッパー")
    fmt.Println(m) // => map[ウマ娘 プリティダービー:202102 セブンズストーリー:201708]

    // キーの存在確認
    _, isThere := m["ワールドフリッパー"]
    fmt.Println(isThere) // => false
}
このスクラップは2023/06/10にクローズされました