映射是一个存储键值对的无序集合

创建和初始化

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")

注:在函数间传递映射时不会制造出该映射的一个副本。所以所有对这个映射的引用都会察觉到函数对这个映射做的修改