Rust 模块零碎
参考文章后作出的简略总结,如有谬误脱漏,望指出!
总结:
- Rust 编译器不会依据文件树主动构建模块树 ,须要开发者 手动 在用
mod
关键字构建子模块关系。 - 所有文件都晓得
crate
, 代表src/main.rs
, 互相调用须要用到crate
. - 通过
pub
关键字设置内容是否导出。
依赖:
proj
|__ main.rs
|__ conf.rs
|__ sub_mod_1
|__ a.rs
|__ mod.rs
|___ sub_mod_1
|__ b.rs
|__ mod.rs
三种依赖及其解决办法:
main.rs -> conf.rs
, 在 main.rs
中申明 mod conf;
, 则可调用conf.rs
的内容。
main.rs -> sub_mod_1/a.rs
, 在 sub_mod_1/mod.rs
中退出 mod a;
来构建模块关系,随后 main.rs
中退出 mod sub_mod_1;
即可。
sub_mod_1/a.rs -> sub_mod_2/b.rs
, 相似下面,各自的 mod.rs 中退出 mod 构建模块关系后,a.rs
通过 crate::sub_mod_2::b
来调用 b 的内容。
参考资料
- https://zhuanlan.zhihu.com/p/164556350
- http://www.sheshbabu.com/posts/rust-module-system/
- https://doc.rust-lang.org/nightly/edition-guide/rust-2018/module-system/path-clarity.html