snippetgoCritical
How can I merge two maps in go?
Viewed 0 times
howmergecanmapstwo
Problem
I have a recursive function that creates objects representing file paths (the keys are paths and the values are info about the file). It's recursive as it's only meant to handle files, so if a directory is encountered, the function is recursively called on the directory.
All that being said, I'd like to do the equivalent of a set union on two maps (i.e. the "main" map updated with the values from the recursive call). Is there an idiomatic way to do this aside from iterating over one map and assigning each key, value in it to the same thing in the other map?
That is: given
All that being said, I'd like to do the equivalent of a set union on two maps (i.e. the "main" map updated with the values from the recursive call). Is there an idiomatic way to do this aside from iterating over one map and assigning each key, value in it to the same thing in the other map?
That is: given
a,b are of type map [string] *SomeObject, and a and b are eventually populated, is there any way to update a with all the values in b?Solution
There is no built in way, nor any method in the standard packages to do such a merge.
The idomatic way is to simply iterate:
The idomatic way is to simply iterate:
for k, v := range b {
a[k] = v
}Code Snippets
for k, v := range b {
a[k] = v
}Context
Stack Overflow Q#22621754, score: 235
Revisions (0)
No revisions yet.