介绍
在本实验中,我们将探索 Rust 中的 use 声明,它允许我们将完整路径绑定到一个新名称以便于访问,并且可以与 as 关键字一起使用,将导入绑定到不同的名称。示例代码片段展示了如何使用 use 声明来简化对嵌套路径中的函数和模块的访问。
注意:如果实验未指定文件名,你可以使用任何你想要的文件名。例如,你可以使用
main.rs,并通过rustc main.rs &&./main进行编译和运行。
在本实验中,我们将探索 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 中练习更多实验来提升你的技能。