Qu'est-ce qu'une closure ?
Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 59 sur 66.
Une closure est une fonction anonyme que vous pouvez stocker dans une variable ou passer comme argument à d'autres fonctions. Contrairement aux fonctions régulières que vous définissez avec le mot-clé fn, les closures sont créées en ligne et n'ont pas besoin de nom.
La syntaxe de base d'une fermeture (closure) utilise des barres verticales pour définir les paramètres, suivies du corps de la fonction :
|param1, param2| {
// le corps de la fonction va ici
}Voici un exemple simple d'une closure qui additionne deux nombres :
let add = |x, y| x + y;
let result = add(5, 3); // le résultat est 8Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Aide-mémoire
Une closure est une fonction anonyme qui peut être stockée dans une variable ou passée comme argument. Les closures utilisent des barres verticales || pour définir les paramètres :
|param1, param2| {
// corps de la fonction
}Exemple d'une closure :
let add = |x, y| x + y;
let result = add(5, 3); // le résultat est 8Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logic & Flow
1Structures de contrôle avancées
L'expression 'match'Filtrage de plusieurs valeursFiltrage d'intervallesL'expression 'if let'Les boucles en tant qu'expressionsRécapitulatif - Analyseur de commandes simple4Regrouper des données avec les structures
Qu'est-ce qu'une structure ?Aperçu des structuresAccéder aux champs d'une structureStructures mutablesLes structures comme paramètres de fonctionStructures tupleRécapitulatif - Créer une structure Book7Gestion des erreurs avec 'Result'
Qu'est-ce qu'un 'Result' ?Utiliser 'match' avec 'Result'is_ok() et is_err()Raccourcis : unwrap et expectL'opérateur point d'interrogation '?'Analyse de chaînes en nombresRécapitulatif - Fonction de division sécurisée10Closures & Fonctions anonymes
Qu'est-ce qu'une closure ?Définir une closure simpleClosures avec paramètresCapturer l'environnementRécapitulatif - Closure d'addition simple2Introduction aux vecteurs
Qu'est-ce qu'un vecteur ?Créer un vecteurAjouter des éléments avec pushAccéder aux éléments d'un vecteurItérer sur un vecteurItération mutableSupprimer des élémentsRécapitulatif - Suivi de score basique5Paires clé-valeur avec les Hash Maps
Qu'est-ce qu'une Hash Map ?Créer une Hash MapInsérer des paires clé-valeurAccéder aux valeursParcourir une Hash MapMettre à jour une valeurSupprimer une paireRécapitulatif - Compteur de mots8Projet : Inventaire d'articles simple
Configuration du projetAjouter un articleVérifier le stockVendre un articleAssembler le tout3Liste de tâches en ligne de commande
Configuration du projetAjouter une tâcheAfficher toutes les tâchesSupprimer une tâcheCode final