模块

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

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

mod foo {
    pub fn do_something() {
        println!("In the foo module");
    }
}

mod bar {
    pub fn do_something() {
        println!("In the bar module");
    }
}

fn main() {
    foo::do_something();
    bar::do_something();
}
This slide should take about 3 minutes.
  • 包提供功能,并包含一个描述如何构建包含 1 个以上 crate 的捆绑包的“Cargo.toml”文件。
  • crate 是一种模块树,其中的二进制 crate 会创建一个可执行文件,而库 crate 会编译为库。
  • 模块定义了组织和范围,并且是本部分的重点。