lib.rs为root crate,可以在lib.rs中定义多个mod,例如
src/lib.rs
mod filesystem {
pub fn mount() {}
}
但是当项目越来越大后,我们希望能将模块拆分到不同的文件中进行维护
src/lib.rs
mod filesystem;
src/filesystem.rs
pub fn mount() {}
lib.rs中, mod filesystem;
告诉rust mod的实际内容在一个同名文件中,即filesystem.rs,同样,我们能在filesystem中引入子模块,这时候我们需要将filesystem变成目录
src/filesystem/mod.rs
mod dentry;
pub fn mount() {}
src/filesystem/dentry.rs
pub fn inode() {}