Section courante

A propos

Section administrative du site

let

Permettre
Rust

Syntaxe

let variable = expression;

Paramètres

Nom Description
variable Ce paramètre permet de nommer une nouvelle variable locale qui recevra la valeur produite par l'expression.
expression Ce paramètre permet de produire une valeur qui sera liée à la variable déclarée.

Description

Ce mot réservé permet de lier une variable.

Remaques

Permet de lier une valeur à une variable.

Le mot clef let est principalement utilisé dans les instructions let, permettant d'introduire un nouvel ensemble de variables dans la portée actuelle, comme indiqué par un modèle :

  1. let thing1: i32 = 100;
  2. let thing2 = 200 + thing1;
  3.  
  4. let mut changing_thing = true;
  5. changing_thing = false;
  6.  
  7. let (part1, part2) = ("premier", "deuxième");
  8.  
  9. struct Example {
  10.     a: bool,
  11.     b: u64,
  12. }
  13.  
  14. let Example { a, b: _ } = Example {
  15.     a: true,
  16.     b: 10004,
  17. };
  18. assert!(a);

Le motif est généralement une variable unique, ce qui signifie qu'aucune correspondance de motif n'est effectuée et que l'expression donnée est liée à la variable. Par ailleurs, les motifs utilisés dans les liaisons let peuvent être aussi complexes que nécessaire, étant donné que le motif est exhaustif. Le type du motif est optionnel par la suite, mais s'il est laissé vide, il est automatiquement déduit par le compilateur, si possible.

Les variables en Rust sont immuables par défaut et nécessitent le mot clef mut pour être mutables.

Plusieurs variables peuvent être définies avec le même nom, ce qu'on appelle le masquage. Cela n'affecte en rien la variable d'origine, si ce n'est l'impossibilité d'y accéder directement après le masquage. Elle reste dans la portée et n'est supprimée que lorsqu'elle en sort. Les variables masquées n'ont pas besoin d'avoir le même type que les variables les masquant.

  1. let shadowing_example = true;
  2. let shadowing_example = 123.4;
  3. let shadowing_example = shadowing_example as u32;
  4. let mut shadowing_example = format!("cool! {shadowing_example}");
  5. shadowing_example += " autre chose!"; // ne pas faire d'ombre

Le mot clef let est également utilisé avec if, sous la forme d'expressions if let. Ces expressions sont utiles si le motif recherché n'est pas exhaustif, comme dans le cas des énumérations. while let existe également, ce qui exécute une boucle avec une valeur de motif recherchée jusqu'à ce que ce motif ne puisse plus être trouvé



Dernière mise à jour : Vendredi, le 1er Août 2025