我有一个类型的地图: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]