映射 就是python里的字典
1 package main
2
3 import "fmt"
4
5 func main() {
6
7 /*
8 定义string为键 int为数值
9 var xx map[string]int =map[string]int{}
10 var xx = map[string]int{}
11 xx := map[string]int{}
12 */
13
14
15
16 //没有指定长度,默认长度为0
17 //a :=make(map[string]int,2)
18 a := make(map[string]int)
19
20
21
22 //添加数据
23 a["aaa"] =1
24 a["bbb"] =2
25 a["ccc"] =3
26
27
28 //根据键访问值
29 fmt.Println("aaa的数字是",a["aaa"]) //aaa的数字是 1
30
31
32
33 //修改数值
34 a["aaa"] =111
35 fmt.Println("aaa的数字是",a["aaa"]) //aaa的数字是 111
36
37
38
39
40 }
带有校验的键值
1 package main
2
3 import "fmt"
4
5 func main() {
6
7 a := make(map[string]int)
8
9
10
11 //添加数据
12 a["aaa"] =1
13 a["bbb"] =2
14 a["ccc"] =3
15
16 //如果查询一个不存在的,也不会报错。
17 fmt.Println("ddd的数字是",a["ddd"]) //ddd的数字是 0
18
19
20 //访问带有验证的键值 然后进行做判断01
21 aa,ok := a["aaa"]
22 if ok==true{
23 fmt.Println("aaa的数值是",aa)
24 } else {
25 fmt.Println("没有该值")
26 }
27
28
29 //校验数值,做逻辑判断02
30 if aaa,ok := a["ddd"];ok==true{
31 fmt.Println(aaa)
32 }else {
33 fmt.Println("没有")
34 }
35
36
37
38 //遍历key和values 01
39 for key,value :=range a{
40 fmt.Printf("a[%s]=%d
",key,value)
41 }
42
43
44 ///遍历key
45 for key := range a{
46 fmt.Println(key,a[key])
47 }
48
49 }