在 golang 中是否有一种从地图中获取值的好方法?
技术问答
215 人阅读
|
0 人回复
|
2023-09-12
|
假如我有一张地图 m 有没有比这更好的方法来获取值 v 的一部分
! M6 U& V3 h' ^6 ], Bpackage 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) }
2 U$ W/ F. T# f5 }0 a' p, c( t) L( ^ 地图有内置功能吗?Go 包中是否有函数,或者如果必须这样做,这是最好的代码吗?8 {) s* e4 ]4 b6 x! f
( K# b) c) i7 P9 J0 {* Z5 T
解决方案:
# A7 k# A1 x( q. u& Z" z. s 对不起。没有内置的方法可以做到这一点。5 N- B5 j; Y5 g! y5 I6 v6 N5 D
作为旁注,您可以在切片创建中省略容量参数:
" D! X$ Q* q' q0 h9 Ev := make([]string,len(m))
' ]+ a# u. Q: c7 g$ P 容量暗示与这里的长度相同。 |
|
|
|
|
|