GO 语言当获取一个不存在的 map 元素时返回什么

概述

在 GO 语言中,当我们当获取一个不存在的 map 元素时会返回什么呢?我们通过下面的例子进行总结 :

例1

map1 := map[string]string{
	"name":  "lesscode",
	"class": "code001",
}

res := map1["test"]
fmt.Printf("res: %v--%T\n", res, res)
// 输出 空字符串: 
// res: --string

例2

map1 := map[string]int{
	"key1": 1,
	"key2": 2,
}
res := map1["name"]
fmt.Printf("res: %v %T\n", res, res)
// 输出 int 类型的 0
// res: 0 int

例3

type Person struct {
	Name string
}

func main() {
	map1 := map[string]Person{
		"key1": {Name: "test"},
	}
	res := map1["name"]
	fmt.Printf("res: %v %T\n", res, res)
}

通过上面的例子我们可以总结 :

当我们当获取一个不存在的 map 元素时会返回对应 map 类型的”空元素”。