回答

收藏

在 golang 中是否有一种从地图中获取值的好方法?

技术问答 技术问答 252 人阅读 | 0 人回复 | 2023-09-12

假如我有一张地图 m 有没有比这更好的方法来获取值 v 的一部分
% _* M; r8 M4 b7 w) O1 N8 R+ _- S  S9 N
    package mainimport (  "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) }
    6 B1 V4 |5 c- k
地图有内置功能吗?Go 包中是否有函数,或者如果必须这样做,这是最好的代码吗?1 k) X4 J6 ~' [4 O6 s+ o
                                                                % Q9 H. e4 Y3 s! F
    解决方案:                                                                : {( A. W/ c% l$ m! y7 W1 R: T. w
                                                                对不起。没有内置的方法可以做到这一点。
7 d. G. @" j& F+ c& n9 E+ E作为旁注,您可以在切片创建中省略容量参数:  m& q! D2 r2 x% n1 x' z3 t. r
    v := make([]string,len(m))
    8 G+ m1 {6 n: u# _; @
容量暗示与这里的长度相同。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则