Back to Lo

It Sum

docs/data/it-sum.md

1.53.0437 B
Original Source

Sums values from a sequence. SumBy applies a transform and sums the results. Returns 0 for empty sequences.

Examples:

go
sum := it.Sum(it.RangeFrom(1, 5))
// 1 + 2 + 3 + 4 + 5 == 15
go
type User struct { Name string; Score int }
users := func(yield func(User) bool) {
    _ = yield(User{"a", 3})
    _ = yield(User{"b", 7})
}
total := it.SumBy(iter.Seq[User](users), func(u User) int { return u.Score })
// total == 10