2022-10-24:以下go语言代码输出什么?A:3 3;B:3 4;C:0 0;D:0 1。

package main

func main() {
  m := make(map[int]int, 3)
  x := len(m)
  m[1] = m[1]
  y := len(m)
  println(x, y)
}

答案选D。这里关键是 m[1] = m[1],右边的 m[1] 返回 0(map 中不存在某个 key 时,返回零值),因此最后 map 中有一个元素:1->0。

在这里插入图片描述