57_Go基础_1_24 map与slice

 1 package main
 2 
 3 import "fmt"
 4 
 5 func main() {
 6     /*
 7         map和slice的结合使用:
 8             1.创建map用于存储人的信息
 9                 name,age,sex,address
10 
11             2.每个map存储一个人的信息
12 
13             3.将这些map存入到slice中
14 
15             4.打印遍历输出
16     */
17 
18     // 1.创建map存储第一个人的信息
19     map1 := make(map[string]string)
20     map1["name"] = "王二狗"
21     map1["age"] = "30"
22     map1["sex"] = "男性"
23     map1["address"] = "北京市XX路XX号"
24     fmt.Println(map1) // map[address:北京市XX路XX号 age:30 name:王二狗 sex:男性]
25 
26     // 2.第二个人
27     map2 := make(map[string]string)
28     map2["name"] = "李小花"
29     map2["age"] = "20"
30     map2["sex"] = "女性"
31     map2["address"] = "上海市。。。"
32     fmt.Println(map2) // map[address:上海市。。。 age:20 name:李小花 sex:女性]
33 
34     // 3.
35     map3 := map[string]string{"name": "ruby", "age": "30", "sex": "女性", "address": "杭州市"}
36     fmt.Println(map3) // map[address:杭州市 age:30 name:ruby sex:女性]
37 
38     // 将map存入到slice中
39     s1 := make([]map[string]string, 0, 3)
40     s1 = append(s1, map1)
41     s1 = append(s1, map2)
42     s1 = append(s1, map3)
43 
44     // 遍历切片
45     for i, val := range s1 {
46         // val :map1,map2,map3
47         fmt.Printf("第 %d 个人的信息是:\n", i+1)
48         fmt.Printf("\t姓名:%s\n", val["name"])
49         fmt.Printf("\t年龄:%s\n", val["age"])
50         fmt.Printf("\t性别:%s\n", val["sex"])
51         fmt.Printf("\t地址:%s\n", val["address"])
52     }
53 }