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