Rust use关键字

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关键字包括范围内的所有模块。 因此,可以直接调用函数,而不必在调用函数中包含模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值