Go の Map

Map

型の同じ Hash のみたいなやつ

package main

import "fmt"

func main() {
    colors := map[string]string{
        "red":   "#ff0000",
        "green": "#4bf745",
        "white": "#ffffff",
    }

    colors["yellow"] = "pugera"
    delete(colors, "yellow")

    printMap(colors)
}

func printMap(c map[string]string) {
    for color, hex := range c {
        fmt.Println("Hex code for", color, "is", hex)
    }
}

Struct の比較

Map

  • key がぜんぶ同じ型
  • value がぜんぶ同じ型
  • key がインデックスされてて、回せる
  • 参照渡し
  • (返り値2つある)

Struct

  • key が違う型でもOK
  • value が違う型でもOK
  • 違った型をもったやつの表現に使う
  • 値渡し