我有一个类型的地图:map [string] interface {}
最后,我得到创建的东西像(在反序列化后从yml文件使用goyaml)
mymap = map[foo:map[first: 1] boo: map[second: 2]]
如何迭代这个地图?我试过以下:
for k,v := range mymap{ ... }
但我得到一个错误:
cannot range over mymap typechecking loop involving for loop
请帮忙。
例如,
package main import "fmt" func main() { type Map1 map[string]interface{} type Map2 map[string]int m := Map1{"foo": Map2{"first": 1},"boo": Map2{"second": 2}} //m = map[foo:map[first: 1] boo: map[second: 2]] fmt.Println("m:",m) for k,v := range m { fmt.Println("k:",k,"v:",v) } }
输出:
m: map[boo:map[second:2] foo:map[first:1]] k: boo v: map[second:2] k: foo v: map[first:1]