Golang Map初始化方式
在Golang中初始化Map有哪几种常见方式?它们各有什么优缺点?比如使用make函数、直接字面量初始化或者先声明后赋值的方式,在性能和可读性上有什么区别?哪种方式更适合在什么场景下使用?
2 回复
Golang中Map的初始化方式主要有两种:
- 使用
make:m := make(map[string]int) - 直接初始化:
m := map[string]int{"a": 1, "b": 2}注意:未初始化的map为nil,不能直接赋值。
更多关于Golang Map初始化方式的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
在Go语言中,Map是一种无序的键值对集合。以下是常见的Map初始化方式:
1. 使用make函数
m := make(map[string]int)
m["key1"] = 1
m["key2"] = 2
2. 声明并初始化
m := map[string]int{
"key1": 1,
"key2": 2,
}
3. 声明空Map
var m map[string]int
// 注意:此时m为nil,需要先初始化才能使用
m = make(map[string]int)
4. 使用字面量创建空Map
m := map[string]int{}
注意事项:
- 未初始化的Map值为
nil,不能直接添加元素 - 使用
make时可指定初始容量:make(map[string]int, 10) - Map是引用类型,传递时不会复制整个数据结构
选择哪种方式取决于具体需求,通常推荐使用字面量初始化或make函数。

