Fonctions anonymes dans Dart
-
Présentation
- Les fonctions Dart sont les fonctions définies par l’utilisateur qui sont conçues pour effectuer une tâche spécifique.
- Toutes les fonctions que vous avez vues précédemment dans ce chapitre, sont des fonctions nommées, ce qui veut dire qu’ils ont un nom.
- Vous pouvez également créer une fonction sans nom appelée fonction anonyme , ou parfois un lambda ou une fermeture .
- Ils se comportent exactement de la même manière qu’une fonction nommée normale. La seule différence entre la fonction nommée et une fonction anonyme est la différence de syntaxe.
- Les fonctions anonymes ressemblent aux fonctions nommées avec zéro ou plusieurs paramètres, séparés par des virgules et des annotations de type facultatives, entre parenthèses
- Les fonctions anonymes ont des caractéristiques similaires à la fonction régulière à la seule différence qu’elle n’a pas de nom. Ils peuvent n’avoir aucun argument ou n’importe quel nombre d’arguments avec une annotation de type facultative.
- Ils peuvent être affectés à une variable, puis la valeur de fermeture peut être récupérée ou accessible selon les besoins. Ils contiennent un bloc de code indépendant, qui peut être transmis dans notre code en tant que paramètres de fonction.
-
Syntaxe et utilisation
-
Explication:
- L’exemple ci-dessus répertorie une fonction anonyme définie par l’utilisateur avec un seul argument de type ‘item‘. Cette fonction a appelé à chaque fois dans la liste et a imprimé les chaînes initialisées dans la liste avec sa valeur d’index spécifiée.
- Si nous devions confiner la fonction dans une seule instruction, alors le code ci-dessus pourrait être écrit comme suit :
- Ce code est à peu près équivalent à cet extrait ci-dessus. Il peut être vérifié en le collant dans le code Dart ci-dessus et en le compilant.
-
Exemples
Syntaxe
(liste_paramètres){
// instruction(s) interne(s)
}
Exemple
void main() {
var fruits = ["Pomme", "Mangue", "Banane", "Kiwi"];
fruits.forEach((item) {
print('${fruits.indexOf(item)}: $item');
});
}
Production
0 : Pomme
1 : Mangue
2 : Banane
3 : Kiwi
list.forEach((item) => print( " ${list.indexOf(item)} : $item"));
void main() {
var list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
list.forEach((element) {
if (element % 3 == 0) print(element);
});
}