如果
我有一个地图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)
}
是否有地图的内置功能?在Go包中有一个函数,或者这是最好的代码,如果我要做?
很不幸的是,不行。没有内置的
方法来做到这一点。
作为一个侧面的注释,你可以省略你的切片创建中的capacity参数:
v := make([]string,len(m))
容量暗示与这里的长度相同。