Aliasage en Rust : Amélioration de la lisibilité du code

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 apprendre ce qu'est l'aliasing en Rust, qui nous permet de donner un nouveau nom à un type existant en utilisant l'instruction type. Les alias doivent suivre certaines conventions de nommage et peuvent être utilisés pour créer de nouveaux noms pour les types primitifs ou les types définis par l'utilisateur. Le principal but des alias est de réduire la duplication de code et d'améliorer la lisibilité.

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/BasicConceptsGroup(["Basic Concepts"]) rust(("Rust")) -.-> rust/DataTypesGroup(["Data Types"]) rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust(("Rust")) -.-> rust/MemorySafetyandManagementGroup(["Memory Safety and Management"]) rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations") 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") rust/MemorySafetyandManagementGroup -.-> rust/lifetime_specifiers("Lifetime Specifiers") subgraph Lab Skills rust/variable_declarations -.-> lab-99298{{"Aliasage en Rust : Amélioration de la lisibilité du code"}} rust/integer_types -.-> lab-99298{{"Aliasage en Rust : Amélioration de la lisibilité du code"}} rust/type_casting -.-> lab-99298{{"Aliasage en Rust : Amélioration de la lisibilité du code"}} rust/function_syntax -.-> lab-99298{{"Aliasage en Rust : Amélioration de la lisibilité du code"}} rust/expressions_statements -.-> lab-99298{{"Aliasage en Rust : Amélioration de la lisibilité du code"}} rust/lifetime_specifiers -.-> lab-99298{{"Aliasage en Rust : Amélioration de la lisibilité du code"}} end

Aliasing

L'instruction type peut être utilisée pour donner un nouveau nom à un type existant. Les types doivent avoir des noms au format UpperCamelCase, sinon le compilateur générera un avertissement. L'exception à cette règle sont les types primitifs : usize, f32, etc.

// `NanoSecond`, `Inch` et `U64` sont de nouveaux noms pour `u64`.
type NanoSecond = u64;
type Inch = u64;
type U64 = u64;

fn main() {
    // `NanoSecond` = `Inch` = `U64` = `u64`.
    let nanoseconds: NanoSecond = 5 as U64;
    let inches: Inch = 2 as U64;

    // Notez que les alias de type *ne* fournissent pas de sécurité supplémentaire au niveau du type, car
    // les alias ne sont *pas* de nouveaux types
    println!("{} nanosecondes + {} pouces = {} unité?",
             nanoseconds,
             inches,
             nanoseconds + inches);
}

L'utilisation principale des alias est de réduire le code répétitif ; par exemple, le type io::Result<T> est un alias pour le type Result<T, io::Error>.

Résumé

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