在 Go 中,闭包是一种函数,它可以访问定义它的函数作用域中的变量。这意味着一个闭包可以访问它外部的变量,即使它外部的函数已经返回。
实现方式:
package main
import "fmt"
func main() {
x := 0
increment := func() int {
x++
return x
}
fmt.Println(increment())
fmt.Println(increment())
}
上面的代码使用了一个匿名函数来定义闭包,该函数内部访问了外部的变量 x,并通过调用 increment 函数来改变 x 的值。