How to use functions as variables with closures
Closures, also known as first-class functions, are an interesting language feature that emerged from lambda calculus in the 1930s. The basic idea is that a function is also a value that can be passed around to other functions as a parameter. These types of functions are called closures, but there is really no difference between a function and a closure.
Closures can be saved to variables and used as parameters for other functions. They are even written inline when consuming a function that expects a closure as a property.
Getting ready
- To follow along with this recipe, you can write the code in DartPad.
How to do it...
To implement a closure in Dart, follow these steps:
- To add a closure to a function, you have to essentially define another function signature inside a function:
void callbackExample(void Function(String value) callback) {
callback('Hello Callback');
}
- Under the callbackExample method, create another plain...