有没有办法获取 Go 语言映射中所有键的列表?元素的数量由 len()
给出,但如果我有这样的地图:
m := map[string]string{ "key1":"val1", "key2":"val2" };
如何遍历所有键?
原文由 Martin Redmond 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有办法获取 Go 语言映射中所有键的列表?元素的数量由 len()
给出,但如果我有这样的地图:
m := map[string]string{ "key1":"val1", "key2":"val2" };
如何遍历所有键?
原文由 Martin Redmond 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是获取映射键的 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 许可协议
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.3k 阅读
2 回答922 阅读✓ 已解决
2 回答2.2k 阅读
1 回答2.2k 阅读
https://play.golang.org/p/JGZ7mN0-U-
或者
for
语句的 Go 语言规范 指定第一个值是键,第二个变量是值,但不必存在。