`testMap := make(map[string]interface{})`
使用Golang 空接口的特性定义了一个多层嵌套的Map,但是在赋值的时候遇到了报错,赋值语句如下:
`testMap["Level1"].(map[interface{}]interface{})["level2"].(map[interface{}]interface{})["level3"] = "value"`
报错的内容为:“interface{} is nil, not map[interface{}] interface{}"
interface{} 不是应该可以接受任意类型的参数吗?为什么我不可以将强制转换后的(map[interface{}]interface{}) 传入到上一层呢?
目前看到的资料说,map 的每一层都应该使用make 来构建,如果不想使用任何中间变量来对多层嵌套map进行赋值应该如何书写赋值语句呢?
敬请各位赐教~
有疑问加站长微信联系(非本文作者)