package main
import (
"fmt"
)
//map是key-value数据结构,又称为字段或者关联数组。类似其他编程语言的集合。
//keykey是什么类型
//golang中的map的key可以是很多种类型,比如bool,数字,string,指针,channel,还可以是只包含前面几个类型的借口,结构体,数组
//通常为int,string类型
//声明map
func main() {
//map使用的三种方式
//1
var a map[string]string //key为string,值为int
//声明是不会分配内存的,初始化需要make,分配内存后才能赋值和使用
a = make(map[string]string, 10) //key不能重复,如果重复则以最后的key为准,key也是无序的
a["no1"] = "星空守望者"
a["no2"] = "未来守护者"
a["no3"] = "星空守望者" //值可以重复
fmt.Println(a)
//2
city := make(map[string]string)
city["1"] = "北京"
city["2"] = "上海"
city["3"] = "成都"
fmt.Println(city)
//3
//var hero map[string]string = map[string]string
hero := map[string]string{
"no1": "钢铁侠",
"no2": "美国队长",
"no3": "蜘蛛侠",
"no4": "鹰眼",
"no5": "黑寡妇",
}
fmt.Println(hero)
//存放三个学生信息,每个学生有name和sex以及address
id := make(map[string]map[string]string) //key为string,值为map[string]string
id["no1"] = make(map[string]string, 3)
id["no1"]["name"] = "李华"
id["no1"]["sex"] = "男"
id["no1"]["address"] = "成都双流区"
fmt.Println(id)
}