模块树

文件:

- example.rs (root of our modules tree, generally named lib.rs or main.rs when using Cargo)
- first.rs
- second/
  - mod.rs
  - sub.rs

模块:

- example        -> example
  - first        -> example::first
  - second       -> example::second
    - sub        -> example::second::sub
  - third        -> example::third

example.rs

pub mod first;
pub mod second;
pub mod third {
    ...
}

模块 second 必须在 example.rs 文件中声明,因为它的父级是 example 而不是例如 first,因此不能在 first.rs 或同一目录级别的另一个文件中声明

second/mod.rs

pub mod sub;