使用声明

Beginner

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

介绍

在本实验中,我们将探索 Rust 中的 use 声明,它允许我们将完整路径绑定到一个新名称以便于访问,并且可以与 as 关键字一起使用,将导入绑定到不同的名称。示例代码片段展示了如何使用 use 声明来简化对嵌套路径中的函数和模块的访问。

注意:如果实验未指定文件名,你可以使用任何你想要的文件名。例如,你可以使用 main.rs,并通过 rustc main.rs &&./main 进行编译和运行。

use 声明

use 声明可用于将完整路径绑定到一个新名称,以便更轻松地访问。它通常这样使用:

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

fn main() {
    my_first_function();
}

你可以使用 as 关键字将导入绑定到不同的名称:

// 将 `deeply::nested::function` 路径绑定到 `other_function`。
use deeply::nested::function as other_function;

fn function() {
    println!("called `function()`");
}

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

fn main() {
    // 更轻松地访问 `deeply::nested::function`
    other_function();

    println!("Entering block");
    {
        // 这等同于 `use deeply::nested::function as function`。
        // 这个 `function()` 将遮蔽外部的那个。
        use crate::deeply::nested::function;

        // `use` 绑定具有局部作用域。在这种情况下,
        // `function()` 的遮蔽仅在这个代码块内。
        function();

        println!("Leaving block");
    }

    function();
}

总结

恭喜你!你已经完成了“Use 声明”实验。你可以在 LabEx 中练习更多实验来提升你的技能。