2022-10-12:以下 go 语言代码输出什么?A:1;B:2;C:panic;D:不能编译。 package main import “fmt“ func main() { m := m
2022-10-12:以下 go 语言代码输出什么?A:1;B:2;C:panic;D:不能编译。
复制代码
答案选 D。编译报错 invalid operation: cannot take address of m["uno"] (map index expression of type int)。golang 里面的 map,当通过 key 获取到 value 时,这个 value 是不可寻址的,因为 map 会进行动态扩容,当进行扩展后,map 的 value 就会进行内存迁移,其地址发生变化,所以无法对这个 value 进行寻址。
版权声明: 本文为 InfoQ 作者【福大大架构师每日一题】的原创文章。
原文链接:【http://xie.infoq.cn/article/d1e023d0bcf7d0c56b38e4dbd】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论