在 golang 中是否有一种从地图中获取值的好方法?
技术问答
252 人阅读
|
0 人回复
|
2023-09-12
|
假如我有一张地图 m 有没有比这更好的方法来获取值 v 的一部分
% _* M; r8 M4 b7 w) O1 N8 R+ _- S S9 Npackage 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# _; @ 容量暗示与这里的长度相同。 |
|
|
|
|
|