如何在GO语言中增加地图的分配大小?

Nic*_*ick 9 go

我有一组对象,有时会添加新元素.

如何增加内部地图大小?

每次元素数超过分配数时,是否需要重新分配整个地图?

ANi*_*sus 25

Go规范说:

使用内置函数make创建一个新的空映射值,它将map类型和可选容量提示作为参数:

make(map[string]int) 
make(map[string]int, 100) 
Run Code Online (Sandbox Code Playgroud)

初始容量不限制其大小:映射增长以容纳存储在其中的项目数

所以,不,你不必在创建地图后对地图进行任何分配.这由Go运行时在内部处理.制作地图时使用的可选容量只是一个提示,而不是限制.

  • 没错,Go中没有构造函数.您可以使用与类型相同名称的工厂函数而不是构造函数,只需使用"New".例如.`func NewStruct([arguments])*Struct`.这样做是不恰当的. (3认同)