Back to Lo

Core Sumby

docs/data/core-sumby.md

1.53.0517 B
Original Source

Sums the values computed by a predicate across a collection. Returns 0 for an empty collection.

go
strings := []string{"foo", "bar"}
lo.SumBy(strings, func(item string) int {
    return len(item)
})
// 6
go
// See also: SumByErr for error handling
strings := []string{"foo", "bar", "baz"}
sum, err := lo.SumByErr(strings, func(item string) (int, error) {
    if item == "bar" {
        return 0, fmt.Errorf("invalid item: %s", item)
    }
    return len(item), nil
})
// sum: 3, err: invalid item: bar