Go编程模式:Map-Reduce
本文是全系列中第5 / 10篇:Go编程模式
基本示例
Map示例
下面的程序代码中,我们写了两个Map函数,这两个函数需要两个参数,
- 一个是字符串数组
[]string
,说明需要处理的数据一个字符串 - 另一个是一个函数
func(s string) string
或func(s string) int
func MapStrToStr(arr []string, fn func(s string) string) []string { var newArray = []string{} for _, it := range arr { newArray = append(newArray, fn(it)) } return newArray } func MapStrToInt(arr []string, fn func(s string) int) []int { var newArray = []int{} for _, it := range arr { newArray = append(newArray, fn(it)) } return newArray }
整个Map函数运行逻辑都很相似,函数体都是在遍历第一个参数的数组,然后,调用第二个参数的函数,然后把其值组合成另一个数组返回。