之间究竟有什么区别
var m = map[string]int{}
和
var m = make(map[string]int)
第一个只是快速字段初始化的快捷方式吗?是否存在性能因素?
答案 0 :(得分:20)
第二种形式总是创建一张空地图。
第一种形式是地图文字的特例。地图文字允许创建非空地图:
m := map[bool]string{false: "FALSE", true: "TRUE"}
现在你的(一般化)例子:
m := map[T]U{}
是没有初始值(键/值对)的地图文字。它完全等同于:
m := make(map[T]U)