其实,map是一对key(键)与value(值)对应的无序集合,又称为关联数组或字典。
1、声明 map
首先,要知道什么是map?
其实,map是一对key(键)与value(值)对应的无序集合,又称为关联数组或字典。
var name map[keyType]valueType
//name: map的变量名
//keyType: map中键(key)的类型
//valueType: map中的值(value)的类型
package main
import "fmt"
func main() {
var sitemMap map[string]string
sitemMap = map[string]string{"site": "https://qiucode.cn", "siteName": "秋码记录"}
fmt.Printf("sitemMap 键名 \"site\" 值是: %s\n", sitemMap["site"])
}

2、使用 make() 函数构造
make(map[keyType]valueType, cap)
//第一个参数就是构造的map,键(key)值(value)对的类型
//第二个参数是构造出多大的map,也就是容量
package main
import "fmt"
func main() {
sitemMap := make(map[string]string, 2)
sitemMap = map[string]string{"site": "https://qiucode.cn", "siteName": "秋码记录"}
fmt.Printf("sitemMap 键名 \"site\" 值是: %s\n", sitemMap["site"])
}

3、使用 delete() 函数删除键值对
使用delete()函数根据某个键(Key)删除对应的键值对,其函数声明如下:
delete(map,key)
//第一个参数是要哪个map进行操作的对象
//第二个参数是操作这个map的哪一个键(key)
package main
import "fmt"
func main() {
sitemMap := make(map[string]string)
// 准备map数据
sitemMap["site"] = "https://qiucode.cn"
sitemMap["siteName"] = "秋码记录"
sitemMap["desc"] = "仗剑行于江湖,执笔记江湖事。"
delete(sitemMap, "siteName")
for k, v := range sitemMap {
fmt.Println(k, v)
}
}

4、清空所有元素
很可惜,Go并没有关于清空元素、清空所有元素的函数。然而确实需要清空map当中所有元素怎么办呢?唯一的办法就是重新用make()函数生成新的map。


