dart语言学习(十九)— 闭包

版权声明:本文为博主原创文章,转载请注明地址。 https://blog.csdn.net/huangxiaoguo1/article/details/85015045
  • 含义

    闭包是一个方法(对象)

    闭包定义在其他方法内部

    闭包能够访问外部方法内的局部变量,并持有其状态

  • 案例

void main(List<String> args) {
  var func = a();
  for (var i = 0; i < 5; i++) {
    func();
  }
  print("-------------------------");
  var func1 = b();
  for (var i = 0; i < 5; i++) {
    func1();
  }
}

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

b() {
  int count = 10;
  return () {
    print(--count);
  };
}

0
1
2
3
4
-------------------------
9
8
7
6
5
Exited

猜你喜欢

转载自blog.csdn.net/huangxiaoguo1/article/details/85015045
今日推荐