- Comprendre la syntaxe des closures (c'est simple!)
- Utiliser des closures comme fonctions
- Capturer des variables de l'environnement
Imaginez une fonction rapide ⚡ que vous créez sur place:
- Closure = Une fonction que vous créez rapidement
- Vous pouvez capturer des variables de l'environnement
- C'est super pratique et super flexible!
C'est exactement comme les closures fonctionnent! C'est super simple!
┌─────────────────────────────────────────┐
│ ⚡ CLOSURE = FONCTION RAPIDE ⚡ │
├─────────────────────────────────────────┤
│ │
│ |x| x + 1 │
│ │ │ │
│ │ └─> Corps (code) │
│ └─> Paramètres │
│ │
│ Capture variables de l'environnement! ✅│
│ │
└─────────────────────────────────────────┘
Mnémonique: "Fonction Rapide" - Une closure est comme une fonction rapide que vous créez sur place, avec capture de variables!
fn main() {
let add_one = |x| x + 1;
println!("{}", add_one(5)); // 6
// Avec types explicites
let add_one_explicit = |x: i32| -> i32 { x + 1 };
println!("{}", add_one_explicit(5));
}fn main() {
let x = 10;
// Closure capture x
let add_x = |y| y + x;
println!("{}", add_x(5)); // 15
}