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")) }
闭包会绑定返回函数中使用到的变量