如果我有地图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包中是否有函数,或者如果需要的话,这是最好的代码吗?
抱歉不行。没有内置的方法可以做到这一点。
附带说明一下,您可以在切片创建中省略容量参数:
v := make([]string, len(m))
这里的容量暗示与长度相同。