Exploration de la correspondance de motifs en Rust

RustRustBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer la manière dont Rust fournit la correspondance de motifs à l'aide du mot clé match, qui fonctionne de manière similaire à une instruction switch en C.

Note : Si le laboratoire ne spécifie pas de nom de fichier, vous pouvez utiliser n'importe quel nom de fichier que vous voulez. Par exemple, vous pouvez utiliser main.rs, le compiler et l'exécuter avec rustc main.rs &&./main.

match

Rust fournit la correspondance de motifs via le mot clé match, qui peut être utilisé comme un switch en C. Le premier bras correspondant est évalué et toutes les valeurs possibles doivent être couvertes.

fn main() {
    let number = 13;
    // TODO ^ Essayez différentes valeurs pour `number`

    println!("Dites-moi quelque chose à propos de {}", number);
    match number {
        // Correspondre à une seule valeur
        1 => println!("Un!"),
        // Correspondre à plusieurs valeurs
        2 | 3 | 5 | 7 | 11 => println!("C'est un nombre premier"),
        // TODO ^ Essayez d'ajouter 13 à la liste des nombres premiers
        // Correspondre à une plage inclusive
        13..=19 => println!("Un ado"),
        // Gérer le reste des cas
        _ => println!("Pas spécial"),
        // TODO ^ Essayez de commenter cette instruction de rattrapage
    }

    let boolean = true;
    // Match est également une expression
    let binary = match boolean {
        // Les bras d'un match doivent couvrir toutes les valeurs possibles
        false => 0,
        true => 1,
        // TODO ^ Essayez de commenter l'un de ces bras
    };

    println!("{} -> {}", boolean, binary);
}

Résumé

Félicitations! Vous avez terminé le laboratoire sur la correspondance de motifs. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.