在 Go 语言中,使用 'make' 函数来创建一个 map 结构是推荐的做法,而不是使用 'new' 关键字。使用 'make' 函数可以保证初始化的 map 具有正确的类型和初始容量。使用 'new' 关键字创建一个 map 会导致以下问题:

  1. 类型不正确:'new' 函数返回的是指向零值的指针,而不是一个初始化好的 map。因此,使用 'new' 关键字创建的 map 需要再次进行初始化才能使用。

  2. 空指针异常:使用 'new' 关键字创建 map 时,返回的指针是一个空指针,如果直接对其进行操作,会导致空指针异常。

  3. 容量不确定:'new' 函数创建的 map 没有指定初始容量,因此在往 map 中添加元素时可能会频繁进行扩容操作,导致性能下降。

正确的创建 map 的方式是使用 'make' 函数,例如:

m := make(map[keyType]valueType)

这样可以创建一个类型为 'map[keyType]valueType' 的初始化好的 map,可以直接使用。

Golang 中使用 new 创建 Map 结构的潜在问题

原文地址: https://www.cveoy.top/t/topic/qzbx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录