type Person struct { name string } person := Person{ name: "chang", } map1 := make(map[Person]int) map1[person] = 4 name, ok := map1[person] // 可以 name := map1[person] // 可以 name, ok := 1 // 编译错误 name := 1, 2 // 编译错误 如果按照单纯的赋值来看,要求变量数量和值的数量要一样,但是在 map 取键值时可以不一样,有点像 for range 循环中可以忽略其中的值。 go 是不是也对 map 集合的键值获取进行了特殊处理? 如果是有什么情况也使用了类似的特殊处理