package main import "fmt" func main() { cal := map[string]int{ "Jan": 1, "Feb": 2, "Mar": 3, "Apr": 4, "May": 5, "Jun": 6, "Jul": 7, "Aug": 8, "Sep": 9, "Oct": 10, "Nov": 11, "Dec": 12, } fmt.Printf("%+v\n", cal) // map[Apr:4 Aug:8 Dec:12 Feb:2 Jan:1 Jul:7 Jun:6 Mar:3 May:5 Nov:11 Oct:10 Sep:9] fmt.Printf("%d\n", cal["Jan"]) // 1 fmt.Printf("%d\n", cal["hoge"]) // 0 存在しない場合はゼロ値 fmt.Printf("%d\n", len(cal)) // 12 fmt.Println() for name, num := range cal {// 準不定 fmt.Printf("%d: %s\n", num, name) } fmt.Println() v1 := map[string]int{} v1["hoge"] = 100 v1["fuga"] = 0 { v, ok := v1["hoge"] fmt.Printf("v: %d ok: %v\n", v, ok) // v: 100 ok: true } { v, ok := v1["fuga"] fmt.Printf("v: %d ok: %v\n", v, ok) // v: 0 ok: true } { v, ok := v1["piyo"] fmt.Printf("v: %d ok: %v\n", v, ok) // v: 0 ok: false } var v2 map[string]int v2["fuga"] = 1 // panic }