我有一个递归函数,它创建表示文件路径的对象(关键字是路径,值是关于文件的信息)。它是递归的,因为它只是用来处理文件,所以如果遇到一个目录,就会在目录上递归地调用该函数。获取两个地图的结合
就这么说,我想在两个地图上做一个set union的等价物(即使用递归调用的值更新“main”地图)。除了遍历一个映射并将每个键和值分配给另一个映射中的相同内容之外,有没有一种惯用的方法可以做到这一点?
即:给予a,b
是map [string] *SomeObject
型,并最终填充a
和b
,有没有什么办法来更新a
与b
所有的值?
也许你可以利用一组实际容器,用于这方面的工作:http://github.com/deckarep/golang-set –
拉尔夫的建议是好的为集合。但是,我想说,在你的情况下,它不是一个* union *,而是一个* merge *;一个集合应该只是一个“键”的集合,而您有两个键值对的集合,其中一个“集合”应该优先于另一个集合。 – ANisus