模块

我们已看了“impl”块如何让我们将函数的命名空间建为一种类型。

同样,“mod”让我们可为类型和函数建立命名空间:

  1. mod foo {
  2. pub fn do_something() {
  3. println!("In the foo module");
  4. }
  5. }
  6. mod bar {
  7. pub fn do_something() {
  8. println!("In the bar module");
  9. }
  10. }
  11. fn main() {
  12. foo::do_something();
  13. bar::do_something();
  14. }

This slide should take about 3 minutes.

  • 包提供功能,并包含一个描述如何构建包含 1 个以上 crate 的捆绑包的“Cargo.toml”文件。
  • crate 是一种模块树,其中的二进制 crate 会创建一个可执行文件,而库 crate 会编译为库。
  • 模块定义了组织和范围,并且是本部分的重点。