映射是一个存储键值对的无序集合
创建和初始化
make函数创建
//创建一个映射,键的类型是string,值的类型是int
dict := make(map[string]int)
使用映射字面量创建
//创建一个键和值类型都是string的映射
dict := map[string]string{"Red": "#da1337", "Orange": "#e95a22"}
使用映射
//创建一个空映射
colors := map[string]string{}
//将Red加入映射
colors["Reds"] = "#da1337"
//声明一个未初始化的映射来创建一个nil映射,nil映射不能存储键值对
var colors = map[string]string
//判断映射中是否存在某个键
//第一种方法从映射取值, value是值,exists表示这个键是否存在
value, exists := colors["Bule"]
if exists {
fmt.Println(value)
}
//第二种方法从映射取值,只返回对应的值,然后判断这个值是不是零值
value := colors["Blue"]
if value != "" {
fmt.Println(value)
}
注:在Golang映射中即使这个键不存在也总会返回一个值,该值是对应类型的零值
//删除键值对
delete(colors, "Blue")
注:在函数间传递映射时不会制造出该映射的一个副本。所以所有对这个映射的引用都会察觉到函数对这个映射做的修改
来源:CSDN
作者:鼬用天照
链接:https://blog.csdn.net/mzhnuaa/article/details/104613572