Golang 闭包最佳实践

Jackey Golang 2,995 次浏览 , 没有评论
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "strings"
  6. )
  7.  
  8. // 构建闭包,判断传入的 name 是否包含 suffix 后缀,如果不包含,则添加后缀
  9. // 如果包含,则直接返回 name
  10. func dealSuffix(suffix string) func(string) string {
  11. return func(name string) string {
  12. if strings.HasSuffix(name, suffix) {
  13. return name
  14. }
  15. return name + suffix
  16. }
  17. }
  18.  
  19. func main() {
  20. f := dealSuffix(".jpg")
  21. fmt.Println(f("test"))
  22. fmt.Println(f("test.jpg"))
  23. }

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Go