클로저
void main() {
// 매개변수로 받은 정수값에 2를 더하는 클로저를 생성합니다.
var add2 = makeAdder(2);
// 매개변수로 받은 정수값에 4를 더하는 클로저를 생성합니다.
var add4 = makeAdder(4);
// 클로저를 어디에서 어떻게 사용해도 클로저가 캡처한 변수는 기억됩니다.
print(add2(3));
print(add4(3));
printSum(add2, 10);
printSum(add4, 10);
}
Function makeAdder(int addBy) {
return (int i) => addBy + i;
}
void printSum(Function adder, int delta) {
print(adder(delta));
}Last updated