对nil的map取值
题目:
下面这段代码输出什么?
1 |
|
- A.0
- B.1
- C.Compilation error
解析:
这段代码会输出一个零值,即 0
。
原因是在代码中定义了一个 map[person]int
类型的变量 m
,但是没有对其进行初始化。在没有进行初始化操作时,map
的零值为 nil
,也就是一个空的 map
。
在打印语句中,尝试通过 m[p]
获取 map
中键为 p
的值。由于 m
是一个空的 map
,并没有键为 p
的项,因此返回其值类型的零值,即 0
。
因此,代码输出为 0
。
对nil的map取值
http://example.com/2023/06/08/Go每日一题/对nil的map取值/