1 package main
2
3 import "fmt"
4
5 func main() {
6 /*
7 一:数据类型:
8 基本数据类型:int,float,string,bool
9 复合数据类型:array,slice,map,function,pointer,struct。。。
10
11 array:[size]数据类型
12 slice:[]数据类型
13 map:map[key的类型]value的类型
14
15 二:存储特点:
16 值类型:int,float,string,bool,array,struct
17 引用类型:slice,map
18 make(),slice,map,chan
19
20 */
21
22 map1 := make(map[int]string)
23 map2 := make(map[string]float64)
24 fmt.Printf("%T\n", map1) // map[int]string
25 fmt.Printf("%T\n", map2) // map[string]float64
26
27 map3 := make(map[string]map[string]string) // map[string]map[string]string
28 m1 := make(map[string]string)
29 m1["name"] = "王二狗"
30 m1["age"] = "30"
31 m1["salary"] = "3000"
32 map3["hr"] = m1
33 m2 := make(map[string]string)
34 m2["name"] = "ruby"
35 m2["age"] = "28"
36 m2["salary"] = "8000"
37 map3["总经理"] = m2
38 fmt.Println(map3) // map[hr:map[age:30 name:王二狗 salary:3000] 总经理:map[age:28 name:ruby salary:8000]]
39
40 fmt.Println("---------------")
41
42 map4 := make(map[string]string)
43 map4["王二狗"] = "矮矬穷"
44 map4["李小花"] = "白富美"
45 map4["ruby"] = "住在隔壁"
46
47 fmt.Println(map4) // map[ruby:住在隔壁 李小花:白富美 王二狗:矮矬穷]
48
49 map5 := map4
50 fmt.Println(map5) // map[ruby:住在隔壁 李小花:白富美 王二狗:矮矬穷]
51
52 map5["王二狗"] = "高富帅"
53 fmt.Println(map4) // map[ruby:住在隔壁 李小花:白富美 王二狗:高富帅]
54 fmt.Println(map5) // map[ruby:住在隔壁 李小花:白富美 王二狗:高富帅]
55
56 }