1. 程式人生 > >dart語言學習(十九)— 閉包

dart語言學習(十九)— 閉包

  • 含義

    閉包是一個方法(物件)

    閉包定義在其他方法內部

    閉包能夠訪問外部方法內的區域性變數,並持有其狀態

  • 案例

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