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 }