当前位置: 代码迷 >> 综合 >> 函数-闭包函数
  详细解决方案

函数-闭包函数

热度:74   发布时间:2023-10-16 12:46:07.0
  • 闭包

闭包

函数和其外部变量的引用

package mainimport ("fmt""strings"
)// 闭包实例-1
func Adder() func(int) int { //返回一个函数var x intreturn func(delta int) int {x += deltareturn x}
}
func adder_main() {var f = Adder()fmt.Print(f(1), "-")fmt.Print(f(20), "-")fmt.Print(f(300))
}// 闭包实例-2
func makeSuffixFunc(suffix string) func(string) string {return func(name string) string {if !strings.HasSuffix(name, suffix) { //判断传入的name是否 以suffix结尾,如果不是,那么就拼接return name + suffix}return name}
}
func makeSuffixFunc_main() {func1 := makeSuffixFunc(".bmp")func2 := makeSuffixFunc(".jpg")fmt.Println(func1("test"))fmt.Println(func2("test"))}func main() {adder_main()makeSuffixFunc_main()
}
  相关解决方案