Introduction Closure
Le prochain chapitre traitera des threads en langage Rust. Et pour cela, nous avons besoin d’approfondir nos connaissances sur les closures. En effet, l’écriture de threads en Rust implique de manipuler des closures, notion que nous avons brièvement croisée précédemment.
Nous avons effectivement rencontré les closures dans le chapitre Les vecteurs en langage Rust, en particulier lors de l’utilisation de la méthode retain :
vecteur_entiers.retain(|&x| x % 2 == 0);
Ce fragment de code |&x| x % 2 == 0 correspond à une closure, c’est-à-dire une expression lambda ou encore une fonction anonyme. De fait, cela fonctionne strictement comme une fonction, sans que l’on ait besoin du mot-clé fn, ni de préciser paramètres et type de retour. L’écriture est plus souple et intuitive et permet une certaine fluidité dans l’écriture du code.