• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Rust有问有答之use关键字

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

use 是什么

use 是 Rust 编程语言的关键字。using 是 编程语言 C# 的关键字。

关键字是预定义的保留标识符,对编译器有特殊意义。

using 关键字有三个主要用途:

  • using 语句定义一个范围,在此范围的末尾将释放对象。

  • using 指令为命名空间创建别名,或导入在其他命名空间中定义的类型。

  • using static 指令导入单个类的成员。

use的用途是什么

类比using,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::b::other_funtion as ab_funtion; 为方法 other_funtion 创建别名 ab_funtion 。

参考:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB基础入门笔记发布时间:2022-07-18
下一篇:
matlab实用教程发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap