Exemples d'utilisation des énumérations 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 avons un exemple en Rust ressemblant au C qui montre comment utiliser enum comme des énumérations C, y compris les énumérations avec discriminateurs implicites et explicites.

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL rust(("Rust")) -.-> rust/DataTypesGroup(["Data Types"]) rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust/DataTypesGroup -.-> rust/integer_types("Integer Types") rust/DataTypesGroup -.-> rust/type_casting("Type Conversion and Casting") rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax") rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements") subgraph Lab Skills rust/integer_types -.-> lab-99255{{"Exemples d'utilisation des énumérations Rust"}} rust/type_casting -.-> lab-99255{{"Exemples d'utilisation des énumérations Rust"}} rust/function_syntax -.-> lab-99255{{"Exemples d'utilisation des énumérations Rust"}} rust/expressions_statements -.-> lab-99255{{"Exemples d'utilisation des énumérations Rust"}} end

C-like

enum peut également être utilisé comme des énumérations C.

// Un attribut pour masquer les avertissements pour le code inutilisé.
#![allow(dead_code)]

// enum avec discriminateur implicite (commence à 0)
enum Number {
    Zero,
    One,
    Two,
}

// enum avec discriminateur explicite
enum Color {
    Red = 0xff0000,
    Green = 0x00ff00,
    Blue = 0x0000ff,
}

fn main() {
    // Les `enums` peuvent être converties en entiers.
    println!("zero is {}", Number::Zero as i32);
    println!("one is {}", Number::One as i32);

    println!("roses are #{:06x}", Color::Red as i32);
    println!("violets are #{:06x}", Color::Blue as i32);
}

Résumé

Félicitations ! Vous avez terminé le laboratoire C-Like. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.