package main
import (
"fmt"
"strings"
)
func StringProccess(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 := []string{
"go scanner",
"go parser",
" go compiler",
"go printer",
"go formater",
}
chain := []func(string) string{
removePrefix,
strings.TrimSpace,
strings.ToUpper,
}
StringProccess(list, chain)
for _, str := range list {
fmt.Println(str)
}
}
golang数据定义与操作分离示例
最新推荐文章于 2024-04-11 12:48:10 发布