Rust模块小结
Rust官方教程中Packages,Crates与Modules一章略有些晦涩,特别是Packages与Crates的关系。这部分翻来覆去读了几遍,结合别人项目和Rust Packages vs Crates大概弄懂了。
Package
Package 为其中的最高单位:
1 |
|
执行cargo new
命令,便得到了一个package
,大概对应其他语言中的 project ?
Package 具备如下特点:
d
- Package 至少包装了一个 crate;
- Package 是可发布的;
- Package 可包含一个或零个 library crate;
- Package 可包含多个 binary crate;
- 当将Package添加到自己的依赖时(在Cargo.toml中添加),实际上是使用了package中的 library crate。
Crate
- crate 是一种组织代码的形式;
- crate不是binary就是library;
- crate不能独立发布,只能作为package的成员发布;
- 对于编译器,crate更多起到命名空间作用
Rust模块小结
http://xiaofami.github.io/2022/04/02/rust-module/