15、Map类型

map 类型,存储着键和值。

创建maps 类型使用make,而不是new.

nil map是空的,而且也不能被分配。

 1 package main
2
3 import "fmt"
4
5 type Vertex struct {
6 Lat, Long float64
7 }
8
9 var m map[string]Vertex
10
11 func main() {
12 m = make(map[string]Vertex)
13 m["Bell Labs"] = Vertex{
14 40.68433, 74.39967,
15 }
16 fmt.Println(m["Bell Labs"])
17 }
{40.68433 74.39967}

map字面量跟结构体的字面量一样,但是map字面量的键值是必须要有的。

 1 package main
2
3 import "fmt"
4
5 type Vertex struct {
6 Lat, Long float64
7 }
8
9 var m = map[string]Vertex{
10 "Bell Labs": Vertex{
11 40.68433, -74.39967,
12 },
13 "Google": Vertex{
14 37.42202, -122.08408,
15 },
16 }
17
18 func main() {
19 fmt.Println(m)
20 }
map[Bell Labs:{40.68433 -74.39967} Google:{37.42202 -122.08408}]
如果顶层类型仅仅是一个类型的名字,你在字面量的每个元素可以把这个名词省略掉。
 1 package main
2
3 import "fmt"
4
5 type Vertex struct {
6 Lat, Long float64
7 }
8
9 var m = map[string]Vertex{
10 "Bell Labs": {40.68433, -74.39967},
11 "Google": {37.42202, -122.08408},
12 }
13
14 func main() {
15 fmt.Println(m)
16 }
map[Bell Labs:{40.68433 -74.39967} Google:{37.42202 -122.08408}]





你可能感兴趣的:(15、Map类型)