La déclaration Use

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 déclaration use en Rust, qui nous permet de lier un chemin complet à un nouveau nom pour une utilisation plus facile, et peut être utilisée avec le mot-clé as pour lier les importations à un nom différent. Des extraits de code d'exemple montrent comment utiliser la déclaration use pour simplifier l'accès aux fonctions et aux modules dans des chemins imbriqués.

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(("Rust")) -.-> rust/DataStructuresandEnumsGroup(["Data Structures and Enums"]) rust/DataTypesGroup -.-> rust/string_type("String Type") 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/DataStructuresandEnumsGroup -.-> rust/method_syntax("Method Syntax") subgraph Lab Skills rust/string_type -.-> lab-99334{{"La déclaration Use"}} rust/type_casting -.-> lab-99334{{"La déclaration Use"}} rust/function_syntax -.-> lab-99334{{"La déclaration Use"}} rust/expressions_statements -.-> lab-99334{{"La déclaration Use"}} rust/method_syntax -.-> lab-99334{{"La déclaration Use"}} end

La déclaration use

La déclaration use peut être utilisée pour lier un chemin complet à un nouveau nom, pour une utilisation plus facile. Elle est souvent utilisée comme ceci :

use crate::deeply::nested::{
    my_first_function,
    my_second_function,
    AndATraitType
};

fn main() {
    my_first_function();
}

Vous pouvez utiliser le mot-clé as pour lier les importations à un nom différent :

// Lie le chemin `deeply::nested::function` à `other_function`.
use deeply::nested::function as other_function;

fn function() {
    println!("appelé `function()`");
}

mod deeply {
    pub mod nested {
        pub fn function() {
            println!("appelé `deeply::nested::function()`");
        }
    }
}

fn main() {
    // Accès plus facile à `deeply::nested::function`
    other_function();

    println!("Entrée dans le bloc");
    {
        // Ceci est équivalent à `use deeply::nested::function as function`.
        // Cette `function()` masquera la fonction externe.
        use crate::deeply::nested::function;

        // Les liaisons `use` ont une portée locale. Dans ce cas,
        // le masquage de `function()` n'est que dans ce bloc.
        function();

        println!("Sortie du bloc");
    }

    function();
}

Sommaire

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