GO 简单链式处理demo

  • 需求: 去除字符串中特定字符串(如:go),去除字符串中的所有空格,并把字符串转换为大写字母
package main

import (
	"fmt"
	"strings"
)

func processingCharacters(alist []string, string_method []func(string)string )  {

	for index, str := range alist{
		result := str
		for _, med := range string_method{
			result = med(result)
			fmt.Printf("字符处理结果:%v\n", result) // 每一个循环的字符处理结果
		}
		alist[index] = result
	}
}

func removeGo(astr string) string  {
	// 去除go字符
	result := astr
	isGo := strings.Contains(result, "go")
	if isGo {
		result = strings.Replace(result, "go", "", -1)
	}
	return result
}

func removeSpace(astr string) string  {
	// 去除所有空格
	result := astr
	ispace := strings.Contains(result," ")
	if ispace{
		result = strings.Replace(result, " ", "", -1)
	}
	return result
}

func main() {
	str_list := []string{
		"go handsome",
		"goamazing",
		" handsome go  ",
	}

	modus := []func(string)string{
		removeGo, // 去除go字符
		removeSpace, // 去除空格
		strings.ToUpper, // 转换字符为大写
	}

	processingCharacters(str_list, modus)

	fmt.Println("处理后的字符信息")
	for _,value := range str_list{
		fmt.Printf("%v\n", value)
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值