Ответ 1
В стандартном пакете нет встроенного способа, а также никакого метода для такого слияния.
Идемный способ - просто перебрать:
for k, v := range b {
a[k] = v
}
У меня есть рекурсивная функция, которая создает объекты, представляющие пути к файлам (ключи - это пути, а значения - информация о файле). Он рекурсивный, поскольку он предназначен только для обработки файлов, поэтому, если каталог встречается, функция рекурсивно вызывается в каталоге.
Все, что сказано, я хотел бы сделать эквивалент объединения множеств на двух картах (т.е. "основная" карта обновлена со значениями из рекурсивного вызова). Есть ли идиоматический способ сделать это, помимо итерации по одной карте и назначения каждого ключа, значения в ней на одно и то же на другой карте?
То есть: заданные a,b
имеют тип map [string] *SomeObject
, и в конце концов будут a
и b
, есть ли способ обновить a
со всеми значениями в b
?
В стандартном пакете нет встроенного способа, а также никакого метода для такого слияния.
Идемный способ - просто перебрать:
for k, v := range b {
a[k] = v
}