How do I write a generic map/reduce helper?

generic map reduce helper, Go programming, concurrency with Go, map reduce example in Go
This content illustrates how to create a generic Map/Reduce helper in Go, covering the essential concepts and providing a practical example.
package main import ( "fmt" ) func Map(input []int, mapper func(int) int) []int { result := make([]int, len(input)) for i, v := range input { result[i] = mapper(v) } return result } func Reduce(input []int, reducer func(int, int) int, initialValue int) int { result := initialValue for _, v := range input { result = reducer(result, v) } return result } func main() { data := []int{1, 2, 3, 4, 5} // Example of mapping: squaring each number mapped := Map(data, func(x int) int { return x * x }) // Example of reducing: summing the numbers reduced := Reduce(mapped, func(a, b int) int { return a + b }, 0) fmt.Println("Mapped:", mapped) fmt.Println("Reduced:", reduced) }

generic map reduce helper Go programming concurrency with Go map reduce example in Go