有没有办法让一个围棋语言地图的所有键的列表?元素的数量由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]
}
  

有没有办法让一个围棋语言地图的所有键的列表?

ks := reflect.ValueOf(m).MapKeys()
  

我怎么遍历所有的钥匙?

使用接受的答案:

for k, _ := range m { ... }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top