测试代码

package main

import "fmt"

func main() {
	intMap := map[int]int{
		1: 1,
		2: 2,
		3: 3,
	}

	stringMap := map[string]string{
		"1": "1",
		"2": "2",
		"3": "3",
	}

	boolMap := map[string]bool{
		"a": true,
		"b": true,
		"c": false,
	}
	
	interfaceMap := map[string]interface{}{
		"a": true,
		"b": "b",
		"c": 1,
	}

	fmt.Println(intMap[1], intMap[5])
	fmt.Println(stringMap["1"], stringMap["5"])
	fmt.Println(len(stringMap["1"]), len(stringMap["5"])) // len=1,len=0
	fmt.Println(boolMap["a"], boolMap["c"], boolMap["e"])
	fmt.Println(interfaceMap["a"], interfaceMap["c"], interfaceMap["e"])
}

测试结果

1 0
1 
1 0
true false false
true 1 <nil>

结论

当map的key不存在的时候,它的返回值为这个类型的默认返回值


版权声明:本文为u011944141原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u011944141/article/details/126626018