赞
踩
在Rust模块系统中,有诸多的概念和用法,不容易搞清楚,理一下,很有必要。
cargo是从包的根目录开始找相应的文件的。
一、packages、crates、modules
packages: 通过cargo new 创建;
crates: 通过cargo new --lib 创建。有根包和子包。即一个根包下可以包含多个子包。
modules: 通过关键字mod加模块定义
二、各种用法
src下有同个级:兄弟、父、子三个层级。
1、mod
往往是引入与当前文件同级的文件夹下(兄弟模块下)的文件。
2、crate
代表引用当前文件同级的文件。为同级文件时,意义和self相同。但如果是同级文件夹,不能混用。
3、super
super:代表当前文件的上一级目录(父模块) 。super后面可以直接接函数。也可以接“*”,表示所有函数。
4、self
见crate
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。