先看一下例子
@dart2的语法
//dart2
//写法一
makeAdder(num addBy) =>((num i)=>addBy + i);
//上面这个是语法糖写法
//规范一点的写法如下
//写法二
Function makeAdderOther(addBy){
Function add(i){
return addBy+i;
}
return add;
}
void main(){
print(makeAdder(1)(2);
print(makeAdderOther(2)(6));
}
复制代码
@python3的语法
#python3
def make_adder(add_by):
def add(i):
return add_by+i
return add
print(makeAddr(1)(2))
复制代码
重点看一下dart的第一个语法,简直不要太爽诶!
理解闭包,就是将一个函数的返回给另一个函数,函数被封闭在函数里,且不用现性地去调用内部的那个函数