在go语言当中,匿名函数可以作为一个函数当中的变量,它没有函数名称但是却可以访问其作用域外的变量,这样的能力被称为闭包
示例:
1 | func main() { |
闭包内变量的生命周期与普通函数不同,普通函数的变量在被调用时初始化,调用结束后即被回收,而闭包内的变量的生命周期和作用域无关
1 | // 闭包内变量的生命周期不受其作用域限制 |
以上输出结果分别为:1、2、3、4、5
在go语言当中,匿名函数可以作为一个函数当中的变量,它没有函数名称但是却可以访问其作用域外的变量,这样的能力被称为闭包
示例:
1 | func main() { |
闭包内变量的生命周期与普通函数不同,普通函数的变量在被调用时初始化,调用结束后即被回收,而闭包内的变量的生命周期和作用域无关
1 | // 闭包内变量的生命周期不受其作用域限制 |
以上输出结果分别为:1、2、3、4、5