gpt4 book ai didi

dictionary - 同时在 Golang 中合并 map

转载 作者:数据小太阳 更新时间:2023-10-29 03:11:36 25 4
gpt4 key购买 nike

我正在尝试同时合并许多 map 。我想从一个 channel 中弹出两个 map ,合并这两个 map 并将合并后的 map 发送回同一 channel ,直到合并 map 完成。

更大的图景是我同时制作 map ,并且我想在有两个可用 map 时立即开始合并。最后,我想要一张包含所有生成 map 的合并 map 。

我想做这样的事情:

func processMaps(c1 chan map[string]int) {
for map1 := range c1 {
map2 := <-c1
mergedMap := mergeMaps(map1, map2)
c1 <- mergedMap
}
}
}

有什么想法吗?

最佳答案

从一个空 map 开始,并将 channel 上接收到的任何 map 合并到 map 中:

merged := make(make[string]int)
for m := range c {
for k, v := range m {
merged[k] = v
}
}

当 channel c 关闭时循环退出。 map merged 是在 c 上收到的所有 map 的合并。

使用变量来引用合并后的 map ,而不是将合并后的 map 发送回 channel 。将合并后的映射发送回 channel ,在不增加并发的情况下使结束条件更加复杂。

关于dictionary - 同时在 Golang 中合并 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50309253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com