Dart笔记(三)闭包

2019-05-19  本文已影响0人  啦啦哇哈哈

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。

上一篇下一篇

猜你喜欢

热点阅读