Dart笔记(三)闭包

1.闭包是一个方法(对象)
2.闭包定义在其他方法内部
3.闭包能够访问外部方法内的局部变量,并且持有其状态

一个例子:

void main(){
    var func = a();
    func();
    func();
    func();
    func();
    //打印出来结果是0,1,2,3
}

a(){
    int count = 0;
    printCount(){
        print(count++);
    }
    return  printCount;
}

a的返回值是个闭包,闭包里面访问了a()对象里面的count,持有其状态,每次调用func,就是调用闭包printCount,然后就能打印递增之后的count。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容