dart_in_action/10_ closures.dart

31 lines
550 B
Dart

///
/// Closures
///
main(List<String> args) {
// A closure is a function that has access to the parent scope
String message = "Dart is good";
Function showMessage = () {
message = "Dart is awesome";
print(message);
};
showMessage();
print(message);
// A closure is a function object that has access to variables in its lexical scope
Function talk = () {
String msg = "Hi";
Function say = () {
msg = "Hello";
print(msg);
};
return say;
};
Function speak = talk();
speak();
talk()();
}