问答详情
源自:5-6 闭包

闭包声明与调用问题(与通常方法)

// 常规声明方法
void printHello() {
  print("Hello");
}

// 调用
printHello();

// 闭包声明方法
a () {
  int count = 0;
  printCount () {
    print(count++);
  }

  return printCount;
}

// 闭包调用
var func = a();// 我的疑问是这句,a()不是方法调用吗?这里不是应该被调用了一次吗?为什么不是写成var func = a;
func();


提问者:慕粉3765940 2019-08-20 11:00

个回答

  • e90
    2019-09-03 14:54:06

    写成var func = a;
    func();

    执行func()后只是返回了一个函数体。