map的定义和使用
//var m map[键类型]值类型
//map 是储存无序的
var m map[int]string = map[int]string{10:"A",11:"B",12:"C"}
//map 的遍历 range
for k,v:= range m{
fmt.Println(k,v)
}
map 的初始化和赋值
//map 的声明
//var m map[int]string
//map 的初始化
//var m map[int]string = make(map[int]string)
//自动推导类型
m:=make(map[int]string)
//赋值 如果有就修改 没有就赋值
m[1] = "A"
m[2] = "B"
m[3] = "C"
m[1] = "J"
map 的值
/********** 根据key 获取值 ***************/
value,ok:= m[key]
if ok{
fmt.Println(value)
}else{
fmt.Println("key不存在")
}
/*********** 字典删除 *******************/
delete(m,key) //如果key存在 删除数据 key不存在 程序继续执行
/********** map作为函数传递 **************/
//map作为函数参数是地址传递(引用传递) 形参可以改变实参的值
m := map[int]string{1001: "亚索", 1005: "盖伦", 1020: "劫", 1022: "蔡徐坤"}
//调用函数
test(m)
func test(m map[int]string) {
//查询数据
//fmt.Println(m)
//添加数据
//m[2333] = "赵信"
//修改信息
//m[1022] = "泰达米尔"
//删除
delete(m,1022)
fmt.Printf("被调函数:%p
", m)
}