使用/不使用make创建地图

时间:2013-06-06 10:40:03

标签: go

之间究竟有什么区别
var m = map[string]int{}

var m = make(map[string]int)

第一个只是快速字段初始化的快捷方式吗?是否存在性能因素?

1 个答案:

答案 0 :(得分:20)

第二种形式总是创建一张空地图。

第一种形式是地图文字的特例。地图文字允许创建非空地图:

m := map[bool]string{false: "FALSE", true: "TRUE"}

现在你的(一般化)例子:

m := map[T]U{}

是没有初始值(键/值对)的地图文字。它完全等同于:

m := make(map[T]U)