映射 Map
映射 map
映射是存储一系列无序的key/value 对,通过key来对value 进行操作(增、删、改、查)。 映射的key 只能为可使用== 运算符的值类型(字符串、数字、布尔、数组),value可以为任意类型
1)声明
map 声明需要指定组成元素key 和value 的类型,在声明后,会被初始化为nil,表示暂不存在的映射
var names map[string]string
2)初始化
a) 使用字面量初始化:map[key]vtype{k1:v1,k2,v2....}
b) 使用字面量初始化空映射: map[ktype]vtype{}
c) 使用make 函数初始化
第一种方式 字面量初始化
var names map[string]string = map[string]string{"Go3037": "陕西"} //字面量
第二种方式 make 初始化
var scores = make(map[string]int) //make
3) 增删改查
var names map[string]string = map[string]string{"Go3037": "陕西"}
//初始化,字面量
fmt.Printf("%T %v\n", names, names)
//kye 添加或者修改元素
names["Go2004"] = "陕西西安"
fmt.Println(names)
names["Go3037"] = "北京"
fmt.Println(names)
判断是否存在
names["Go001"] = ""
fmt.Println(names["Go001"], names["Go002"])
v, ok := names["Go001"]
fmt.Println(v, ok)
v, ok = names["Go002"]
fmt.Println(v, ok)
遍历
for k := range names {
fmt.Println(k)
}
for k, v := range names {
fmt.Println(k, v)
}
删除
delete(names, "Go2004")
fmt.Println(names)