var mMap map[string]string = map[string]string {
"a" : "this is a",
"b" : "this is b",
}
var k, v string
for k, v = range mMap {
fmt.Printf(k, v)
fmt.Println("")
}
var value = mMap["a"]
fmt.Printf("value=%s", value)
v, ok := mMap["a"];
fmt.Printf("v=%s, ok=%s", v, ok)
fmt.Println("")
if v, ok :=mMap["a"]; ok {
fmt.Printf(v, ok)
} else {
fmt.Printf("ok is not exist")
}
m := make(map[int]string)
m[1] = "love"
delete(m, 1)
创建:make(map[string]string)
获取元素:m[key]
key不存在时,获得value类型的初始值
用value,ok:=m[key]来判断是否存在key
用delete删除一个key
使用range遍历key,或者遍历key, value对
不保证遍历顺序,如需顺序,需手动对key排序
map使用哈希表,必须可以比较相等
除了slice,map,function的内建类型都可以作为key
Struct类型不包含上次字段,也可以作为key