Go基础(闭包_3)

Tutorial: Go初级 Category: Go Published: 2026-04-07 13:58:26 Views: 21 Likes: 0 Comments: 0
package main

import (
    "fmt"
    "strings"
)

func makeSuffixFunc(suffix string) func(string) string {
    return func(name string) string {
        if !strings.HasSuffix(name, suffix) {
            return name + suffix
        }
        return name
    }
}

func main() {
    jpgFunc := makeSuffixFunc(".jpg") // 返回一个 func ,功能是给文件名添加后缀,后缀是 .jpg
    txtFunc := makeSuffixFunc(".txt") // 返回一个 func ,功能是给文件名添加后缀,后缀是 .txt
    fmt.Println(jpgFunc("test"))      //test.jpg
    fmt.Println(txtFunc("test"))      //test.txt
}