对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取值/