了解使用 make 和不使用 make 的映射初始化之间的差异
在 Go 中处理映射时,您可能会遇到两种不同形式的初始化:
1。使用地图文字:
var m = map[string]int{}
2.使用 make 函数:
var m = make(map[string]int)
功能差异:
主要区别在于映射的初始化方式。第二种形式使用 make,总是生成一个空映射。然而,第一种形式是地图文字的独特情况。映射文字可以用初始键值对构造映射。例如:
m := map[bool]string{false: "FALSE", true: "TRUE"}
等效性和性能:
示例的通用版本,
m := map[T]U{}
相当于调用 make:
m := make(map[T]U)
就性能而言,这两种方法在创建空时的行为相同映射。
初始容量:
使用 make 的主要优点是能够指定初始容量。这可以通过向 make 函数添加一个整数参数来完成:
m := make(map[T]U, 50)
这会初始化一个为 50 个元素分配空间的映射。如果您预计映射会增长,预分配可以减少未来的内存分配。
以上是Go 地图:`map[string]int{}` 与 `make(map[string]int)`:有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!