Задать вопрос
@FernID

Как найти сумму двух map-ов в Golang?

у меня два map-а: x map[types.Category]int, z map[types.Category]int
как сложить значение в каждой категории?
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
OrlovEvgenii
@OrlovEvgenii
golang developer / DevOps
Самый очевидный вариант
for k, v := range z {
    x[k] += v
}


более универсальный
func sumMaps(maps ...map[types.Category]int) map[types.Category]int {
    result := make(map[types.Category]int)

    // складываем значения из всех map-ов
    for _, m := range maps {
        for k, v := range m {
            result[k] += v
        }
    }

    return result
}

result := sumMaps(map1, map2, map3)

Или через Fan-in.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы