在golang有一个很好的方法从地图得到一个值的值?

前端之家收集整理的这篇文章主要介绍了在golang有一个很好的方法从地图得到一个值的值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我有一个地图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))

容量暗示与这里的长度相同。

猜你在找的Go相关文章