Go之路(十二):闭包
闭包

例子:
package main
import(
"strings"
"fmt"
)
func test(suffix string ) func(string) string{
return func(name string) string{
if !strings.HasSuffix(name , suffix){
return name+suffix
}
return name
}
}
func main(){
f := test(".jpg")
f2 := test(".avi")
fmt.Println(f("test"))
fmt.Println(f2("test"))
}
闭包会绑定返回函数中使用到的变量

浙公网安备 33010602011771号