【初心者向け】Go言語のmapの使い方|例でわかる基礎理解

プログラム

はじめに

Go言語でデータを扱うときに便利なのが「map(マップ)」です。

「配列と何が違うの?」
「どうやって使うの?」

👉 この記事では、Goのmapの使い方を初心者でも理解できるように解説します。


mapとは?(超重要)

mapとは「キーと値をセットで管理するデータ構造」です。

イメージ👇

  • 名前 → 年齢
  • 商品名 → 価格

👉 「辞書」や「連想配列」と同じです。


mapの基本構文

map[キーの型]値の型

mapの作り方(基本)

方法①:初期化

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

👉 一番よく使う方法


方法②:makeを使う

m := make(map[string]int)

👉 空のmapを作成


値の取得

price := m["apple"]
fmt.Println(price)

👉 キーを指定して取り出す


値の追加・更新

m["orange"] = 300

👉 新しい要素を追加できる


要素の削除

delete(m, "banana")

👉 指定したキーを削除


存在チェック(重要)

value, ok := m["apple"]

if ok {
fmt.Println("存在する:", value)
} else {
fmt.Println("存在しない")
}

👉 実務で超重要


mapのループ(for + range)

for k, v := range m {
fmt.Println(k, v)
}

👉 すべてのデータを取得


実践例①:ユーザー管理

users := map[string]int{
"Tom": 20,
"Ken": 25,
}

fmt.Println(users["Tom"])

実践例②:カウント処理

text := "go go golang"

count := make(map[string]int)

words := []string{"go", "golang"}

for _, w := range words {
count[w]++
}

👉 データ分析で使う


mapとスライスの違い

項目mapスライス
管理方法キーインデックス
検索高速遅い
用途検索・管理順番処理

👉 使い分けが重要


初心者がつまずくポイント

❌ 初期化してない

var m map[string]int
m["a"] = 1 ← エラー

👉 makeが必要


❌ 存在チェックしない

👉 データがないと0が返る


❌ 順番が保証されない

👉 mapは順不同


実践サンプル(まとめ)

package main

import "fmt"

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

m["orange"] = 300

for k, v := range m {
fmt.Println(k, v)
}
}

学習のコツ

  • map+rangeをセットで覚える
  • 存在チェックを使う
  • 実際に書く

👉 「データ管理=map」


まとめ|mapは超重要

Go言語のmapは👇

✔ キーと値で管理
✔ 高速検索
✔ 実務で頻出

👉 絶対に覚えるべき機能

コメント

タイトルとURLをコピーしました