golang map类型转换遇到的坑

map想必大家都很熟悉了,下面简单记录一下今天开发遇到的坑。

基本概念>字典(Map)

字典是一组无序的,键值对的集合。字典也叫做关联数组,因为数组通过索引来查找元素,而字典通过键来查找元素。当然,很显然的,字典的键是不能重复的。如果试图赋值给同一个键,后赋值的值将覆盖前面赋值的值。

例如:

x := make(map[string]interface{})

y := make(map[string]interface{})

y["name"] = "echo"

y["ege"] = 28

x["str"] = y

如果我将以上的x返回,输出打印

for k,v := range x["str"] {

  utils.display(v["name"])

}

执行后将报错,因为y,x定义的类型不同,正确x值的类型应该为y的类型,否则将报错类型为interface{}无法遍历。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容