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"))


}

  闭包会绑定返回函数中使用到的变量

posted @ 2018-12-02 16:10  __Miracle  阅读(106)  评论(0)    收藏  举报