Go 多个 map 同时赋值给多个结构体问题

2020-11-24 20:57:35 +08:00
 AmrtaShiva

如题 有五个 map 每个 map 有 8 到九个 k 。同时有九个结构体 每个结构体含有五个元素。有什么办法把这些 map 的九个键分别写到不同结构体里面吗?或者说这种数据结构就不合适这么做?

1412 次点击
所在节点    Go 编程语言
6 条回复
user8341
2020-11-24 21:22:43 +08:00
go 就是不隐藏时间复杂度,所以肯定是写循环
for key, value := range m {
...插入到九个结构体之一
}
AmrtaShiva
2020-11-24 22:23:28 +08:00
@user8341 这样得写五个循环了。。。
hakono
2020-11-24 22:32:56 +08:00
@AmrtaShiva 循环又不慢(虽说遍历 map 很慢,但这个情况遍历是跑不掉的)
也就是代码看起来难看点罢了

如果每个 map 的 key 都是一样的话,倒是一个循环也许能解决,否则的话也就只能按上面的来了
AmrtaShiva
2020-11-25 06:21:08 +08:00
@hakono Key 不太一样 有的八个 有的九个 多个循环看着太难看了 改结构体内的类型为数组 只保留一个结构体 把五个 map 分别 append 后 放的结构体里面 看着好多了😌
cyrivlclth
2020-11-26 09:27:48 +08:00
我喜欢 for 循环.难看的话抽一个函数出来,或者 github 上找找有没有这种函数.
AmrtaShiva
2020-11-26 15:08:10 +08:00
@cyrivlclth 已经写完了😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728854

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX