在golang使用range操作符来迭代map,通常有以下几种使用的场景:获取key和value,只获取value,只获取key,我们来举例说明下。
首选构造一个map
sample := map[string]string{
"a": "x",
"b": "y",
}
for k, v := range sample {
fmt.Printf("key :%s value: %s\n", k, v)
}
输出:
key :a value: x
key :b value: y
for k := range sample {
fmt.Printf("key :%s\n", k)
}
输出:
key :a
key :b
for _, v := range sample {
fmt.Printf("value :%s\n", v)
}
输出:
value :x
value :y
keys := getAllKeys(sample)
fmt.Println(keys)
func getAllKeys(sample map[string]string) []string {
var keys []string
for k := range sample {
keys = append(keys, k)
}
return keys
}
输出:
[a b]