小编典典

遍历 golang 地图

go

我有一个类型的地图: map[string]interface{}

最后,我开始创建类似的东西(在使用 goyaml 从 yml 文件反序列化之后)

mymap = map[foo:map[first: 1] boo: map[second: 2]]

我怎样才能遍历这张地图?我尝试了以下方法:

for k, v := range mymap{
...
}

但我收到一个错误:

cannot range over mymap
typechecking loop involving for loop

请帮忙。


阅读 277

收藏
2021-12-02

共1个答案

小编典典

例如,

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]
2021-12-02