闭包是一个函数,它引用其周围作用域中的变量,"关闭"这些变量——即使封闭函数返回后,该函数仍保持对这些变量的访问权限。Go 函数是一级值(first-class values),使得闭包成为一个常见而强大的工具。
基本的闭包
go
{
count :=
{
count++
count
}
}
counter := makeCounter()
fmt.Println(counter())
fmt.Println(counter())
other := makeCounter()
fmt.Println(other())
