Golang Map初始化方式

在Golang中初始化Map有哪几种常见方式?它们各有什么优缺点?比如使用make函数、直接字面量初始化或者先声明后赋值的方式,在性能和可读性上有什么区别?哪种方式更适合在什么场景下使用?

2 回复

Golang中Map的初始化方式主要有两种:

  1. 使用makem := make(map[string]int)
  2. 直接初始化: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函数。

回到顶部