1,在函数内部定义函数,并将这个内部函数返回;
2,函数不调用不执行;
3,内部函数可以持有外部函数的数据,使得这个数据对于别人是private的一种全局变量,只有通过闭包才能访问和修改(java8 不能修改),保证了数据安全;
4,闭包保证了父函数已经执行完毕了,但是子函数还是可以保留父函数的定义的变量。
/*
dart 闭包举例
*/
closureTestA() {
int count = 0;
printCount() {
print(++count);
};
return printCount;
}
学习了廖学锋的闭包讲解