--- title: "Reduce" date: 2022-03-21T13:33:52-04:00 --- `Reduce` combine a list of values into a single value. `acc` is the initial state, and each successive step of it should be returned by the reduction function. ```go package main import ( "fmt" u "github.com/rjNemo/underscore" ) func main() { nums := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} sum := func(n, acc int) int { return n + acc } fmt.Println(u.Reduce(nums, sum, 0)) // 45 } ```