go语言学习 - map数据类型

golang

map声明及赋值

map是一种key value类型数据,无序数据

1
2
3
4
5
6
7
8
9
10
11
// 1.只声明,内容为空,不能赋值
var data map[string]string

// 2.make声明,有默认值
var data = make(map[string]string)

// 3.声明并赋值
var data = map[string]string{"name": "wangyu", "age": "12", "like": "ba"}

// 4.赋值
data["name"] = "wangyu"

map增删改查

1
2
3
4
5
6
7
8
9
10
11
12
var data = make(map[string]string)

// 增加/修改
data["name"] = "wangyu"

// 查询
fmt.Println(data["name"])

// 删除
delete(data, "name")
// map[]
fmt.Println(data)

map遍历

1
2
3
4
5
6
7
8
9
10
11
12
// 创建了一个map数据,key为string,value为切片。双层循环遍历数据
var data = make(map[string][]string)
data["山西"] = []string{"大同", "忻州", "太原"}
data["北京"] = []string{"朝阳", "海淀", "通州"}
data["上海"] = []string{"静安", "浦东", "黄埔"}
data["陕西"] = []string{"西安", "咸阳", "宝鸡"}
// fmt.Println(data["山西"][2])
for province, city := range data {
for index, item := range city {
fmt.Println(index, "--", item, "--", province)
}
}