遍历地图的所有键
  有没有办法获得Go语言地图中所有键的列表?  元素的数量由len()给出,但是如果我有像这样的地图: 
m := map[string]string{ "key1":"val1", "key2":"val2" };
我如何迭代所有的键?
https://play.golang.org/p/JGZ7mN0-U-
for k, v := range m { 
    fmt.Printf("key[%s] value[%s]n", k, v)
}
要么
for k := range m {
    fmt.Printf("key[%s] value[%s]n", k, m[k])
}
  去语言规格为for语句指定的第一个值是关键,第二个变量是值的,但并不一定存在。 
下面是一些简单的方法来获得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]
}
有没有办法获得Go语言地图中所有键的列表?
ks := reflect.ValueOf(m).MapKeys()
我如何迭代所有的键?
使用接受的答案:
for k, _ := range m { ... }
上一篇: Iterating over all the keys of a map
下一篇: Java Class that implements Map and keeps insertion order?
