golang Map
/**
golang map
map的key必須是除了func類型,array,slice,map類型之外的類型
*/
package main
import (
"fmt"
"reflect"
)
var p = fmt.Println
var pf = fmt.Printf
func main() {
m := make(map[string]string)
v := reflect.ValueOf(m)
p(v.Kind()) //map
p(len(m)) //0
var m0 map[string]string
p(len(m0)) //0
p(m0) //map[]
p(m0 == nil) //true
m["xxb"] = "你好"
m["xxc"] = "你也好"
p(m) //map[xxb:你好 xxc:你也好]
//遍歷
for k, v := range m {
pf("%s:%s\n", k, v)
}
m2 := map[string]string{}
m2["k"] = "v"
p(m2) //map[k:v]
m3 := map[string]string{
"k1": "v2",
"k2": "v2", //注意這裏的"," 不要省了
}
p(m3) //map[k1:v2 k2:v2]
m4 := map[string][]string{
"k1": {"v1xx", "v1yy"},
"k2": {"v2xx", "v2yy"},
}
p(m4) //map[k1:[v1xx v1yy] k2:[v2xx v2yy]]
m5 := map[string][]string{
"k1": []string{"v1xx", "v1yy"},
"k2": []string{"v2xx", "v2yy"},
}
p(m5) //map[k1:[v1xx v1yy] k2:[v2xx v2yy]]
//map的key必須是除了func類型,array,slice,map類型之外的類型
}