遍历地图的所有键

新手上路,请多包涵

有没有办法获取 Go 语言映射中所有键的列表?元素的数量由 len() 给出,但如果我有这样的地图:

 m := map[string]string{ "key1":"val1", "key2":"val2" };

如何遍历所有键?

原文由 Martin Redmond 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 501
2 个回答

这是获取映射键的 slice 的一些简单方法。

 // Return keys of the given map
func Keys(m map[string]interface{}) (keys []string) {
    for k := range m {
        keys = append(keys, k)
    }
    return keys
}

// use `Keys` func
func main() {
    m := map[string]interface{}{
        "foo": 1,
        "bar": true,
        "baz": "baz",
    }
    fmt.Println(Keys(m)) // [foo bar baz]
}

原文由 a8m 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题