登录
    Technology changes quickly but people's minds change slowly.

go语言简单示例-链式处理

技术宅 破玉 1128次浏览 0个评论
package main

import (
	"fmt"
	"strings"
)

/**
链式处理函数
 */
func StringProcess(list  [] string,chain [] func(string) string)  {
	for index,str:=range list{
		result:=str
		for _,proc:=range chain{
			result=proc(result)
		}
		list[index]=result
	}
}
// 自定义移除前缀
func removePrefix(str string) string{
	return strings.TrimPrefix(str,"go")
}

func main(){
	// 定义list
	list:=[] string {
		"go abc","go dad","go go"," yaode"," youyou",
	}
	// 定义函数处理 调用链
	chain:=[]func (string) string{
		removePrefix,
		strings.TrimSpace,
		strings.ToUpper,
	}

	// 调用链式处理函数
	StringProcess(list,chain)

	// 循环输出list
	for _,str:=range list{
		fmt.Println(str)
	}

}

华裳绕指柔, 版权所有丨如未注明 , 均为原创|转载请注明go语言简单示例-链式处理
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址