map - 遍历 golang map

标签 map go loops

我有一张 map 类型:map[string]interface{}

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

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

如何遍历此 map ?我尝试了以下方法:

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]

关于map - 遍历 golang map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8018719/

相关文章:

map - 为什么发出(meta.id,NULL)

java - 使用比较器对 map 进行排序

javascript - 我需要循环遍历一个数组并找到 18 岁以下的人。我应该先将其转换为字符串(toString)吗?

http - 在 gofiber POST 请求中,如何解析请求正文?

json - 如何从 Go 请求的正文中获取 JSON

c - 字符串问题(do/while 循环和 if 逻辑)

VBA循环条件在任意行数后停止评估

java - 使用java存储键值对

c++ - 尝试使用 operator[] 访问 std::map 元素时出现编译器错误

go - 如何在Go中依赖 fork 的第三方依赖关系