如果我有一张地图 m
是否有比这更好的方法来获取一部分值 v
?
package main
import (
"fmt"
)
func main() {
m := make(map[int]string)
m[1] = "a"
m[2] = "b"
m[3] = "c"
m[4] = "d"
// Can this be done better?
v := make([]string, len(m), len(m))
idx := 0
for _, value := range m {
v[idx] = value
idx++
}
fmt.Println(v)
}
是否有 map
的内置功能? Go 包中是否有函数,或者这是执行此操作的唯一方法?
原文由 masebase 发布,翻译遵循 CC BY-SA 4.0 许可协议
抱歉不行。没有内置的方法可以做到这一点。
作为旁注,您可以在切片创建中省略 capacity 参数:
此处暗示容量与长度相同。