Go 语言中,获取 map 的所有 keys 可以使用 range
语句或 Keys
函数
下面是两种方法:
方法 1: 使用 range
语句
m := map[string]int{"a": 1, "b": 2, "c": 3}
for k := range m {
fmt.Println(k)
}
这将输出:
a
b
c
方法 2: 使用 Keys
函数
m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := make([]string, 0, len(m))
for k := range m {
keys = append(keys, k)
}
fmt.Println(keys)
这将输出:
[a b c]
注意,在 Go 语言中,map 的 keys 是无序的,所以输出的顺序可能不同。
如果你想获取 map 的所有 keys 并且保持原来的顺序,可以使用以下方法:
m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := make([]string, 0, len(m))
i := 0
for k := range m {
keys = append(keys, k)
i++
}
fmt.Println(keys)
这将输出:
[a b c]
保持原来的顺序。