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{}无法遍历。

你可能感兴趣的:(golang map类型转换遇到的坑)