当前位置:   article > 正文

Rust:mod、crate、super、self、pub use等模块系统用法梳理_rust super

rust super

Rust模块系统中,有诸多的概念和用法,不容易搞清楚,理一下,很有必要。
cargo是从包的根目录开始找相应的文件的。

一、packages、crates、modules

packages: 通过cargo new 创建;
crates: 通过cargo new --lib 创建。有根包和子包。即一个根包下可以包含多个子包。
modules: 通过关键字mod加模块定义

二、各种用法

src下有同个级:兄弟、父、子三个层级。

1、mod

往往是引入与当前文件同级的文件夹下(兄弟模块下)的文件。
  • 1

2、crate

代表引用当前文件同级的文件。为同级文件时,意义和self相同。但如果是同级文件夹,不能混用。
  • 1

3、super

super:代表当前文件的上一级目录(父模块) 。super后面可以直接接函数。也可以接“*”,表示所有函数。
  • 1

4、self

见crate
  • 1

5、pub use

Example	Explanation
mod m {}	Define a module, BK EX REF get definition from inside {}. ↓
mod m;	Define a module, get definition from m.rs or m/mod.rs. ↓
a::b	Namespace path EX REF to element b within a (mod, enum, ...).
     ::b	Search b relative to crate root. 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/951226
推荐阅读
相关标签