// MapReduce函数执行MapReduce计算 func MapReduce(data []int, mapFunc func(int) []int, reduceFunc func([]int) int) int { var wg sync.WaitGroup wg.Add(len(data))
// 创建通道用于Map结果的收集 mapResults := make(chan int)
// 启动goroutine执行Map操作 for _, item := range data { go func(item int) { defer wg.Done() results := mapFunc(item) for _, result := range results { mapResults <- result } }(item) }