package main
import (
"fmt"
"sort"
)
func main() {
var m1 map[int]string
m1 = make(map[int]string)
fmt.Println(m1) //map[]
var m2 map[int]string = make(map[int]string)
fmt.Println(m2) //map[]
m3 := make(map[int]string)
m3[1] = "ok"
m3[2] = "no"
delete(m3, 2)
fmt.Println(m3[1], m3) //ok map[1:ok]
m4 := make(map[int]map[int]string)
m4[1] = make(map[int]string)
m4[1][1] = "ok"
a := m4[1][1]
fmt.Println(a) //ok
m5 := make(map[int]map[int]string)
a, ok := m5[2][1]
if !ok {
m5[2] = make(map[int]string)
}
m5[2][1] = "ook"
a, ok = m5[2][1]
fmt.Println(a, ok) //ook true
sm := make([]map[int]string, 5)
for i := range sm {
sm[i] = make(map[int]string)
sm[i][1] = "ok"
sm[i][2] = "no"
}
fmt.Println(sm, sm[1][1]) //[map[1:ok 2:no] map[1:ok 2:no] map[1:ok 2:no] map[1:ok 2:no] map[1:ok 2:no]] ok
m := map[int]string{1: "a", 2: "b", 3: "c", 5: "e", 4: "d"}
s := make([]int, len(m))
i := 0
for k, _ := range m {
s[i] = k
i++
}
sort.Ints(s)
fmt.Println(s) //[1 2 3 4 5]
m6 := map[int]string{1: "a", 2: "b", 3: "c", 5: "e", 4: "d"}
fmt.Println(m6) //map[1:a 2:b 3:c 5:e 4:d]
m7 := make(map[string]int)
for k, v := range m6 {
m7[v] = k
}
fmt.Println(m7) //map[a:1 b:2 c:3 e:5 d:4]
}