Rust use关键字
Rust use关键字引用模块
参考URL: https://www.yiibai.com/rust/rust-module-use-keyword.html
use 是 Rust 编程语言的关键字。
use的用途有:
- 用于引用某个外部模块
- 直接使用枚举值,而无需手动加上作用域
- 为某个作用域下的方法或作用域创建别名
用于引用某个外部模块
外部模块 a.rs,代码内容如下
mod a
{
fn print_function()
{
println!("This is a.print_function.");
}
}
主函数 main.rs 想要调用 print_function,需要对 mod 标识访问级别,使用关键字 pub。所以 a.rs 的内容变动如下
pub mod a
{
fn print_function()
{
println!("This is a.print_function.");
}
}
主函数 main.rs 调用 print_function 如下,使用关键字 use:
use a;
fn main()
{
a::print_function();
}
直接使用枚举值,而无需手动加上作用域
enum Status {
Rich,
Poor,
}
fn main()
{
use Status::{Poor, Rich};
let status = Poor;
}
上述代码使用关键字 use 显示声明了枚举 Status,所以在 let status = Poor; 这行代码中无需使用 Status::Poor 手动加上作用域的方式声明 Poor。
当然如果枚举值过多时,可以使用 * 声明所有枚举值,即 use Status:😗; 。
为某个作用域下的方法或作用域创建别名
pub mod a
{
pub mod b
{
pub fn function()
{
println!("This is a::b::function");
}
pub fn other_funtion()
{
println!("This is a::b::other_funtion");
}
}
}
use a::b as ab;
use a::b::other_funtion as ab_funtion;
fn main()
{
ab::function();
ab::other_funtion();
ab_funtion();
}
如上述例子所示
use a::b as ab;使用关键字 use 为作用域创建别名。
use a:🅱️:other_funtion as ab_funtion; 为方法 other_funtion 创建别名 ab_funtion 。
Rust中的use关键字缩短了调用函数的长度
Rust中的use关键字缩短了调用函数的长度,使函数的模块在范围内。
当调用模块的函数时,需要指定完整的路径。
通过下面一个例子来理解这个概念:
pub mod a
{
pub mod b
{
pub mod c
{
pub fn nested_modules()
{
println!("Nested Modules");
}
}
}
}
fn main()
{
a::b::c::nested_modules();
}
在上面的例子中,通过指定完整路径来调用nested_modules()函数,即,a:🅱️:c::nested_modules()。
pub mod a
{
pub mod b
{
pub mod c
{
pub fn nested_modules()
{
println!("Nested Modules");
}
}
}
}
use a::b::c::nested_modules;
fn main()
{
nested_modules();
}
在上面的示例中,use关键字包括范围内的所有模块。 因此,可以直接调用函数,而不必在调用函数中包含模块。