lib 和mod 的关系梳理
lib.rs 的作用
lib.rs 是 Rust 库 crate 的根文件,它定义了整个库的公共接口。当其他代码(包括 examples)想要使用你的库时,它们实际上是在引用 lib.rs 中公开的内容。
mod 的作用
mod 是 Rust 的模块系统,用于组织代码结构。它可以:
- 将代码分割成逻辑单元
- 控制可见性(public/private)
- 创建命名空间
它们的关系
// src/lib.rs - 库的根文件,对外的"门面"
pub mod menu; // 声明 menu 模块存在
pub use menu::MenuPlugin; // 重新导出,让外部直接使用
// src/menu/mod.rs - 具体的模块实现
pub struct MenuPlugin; // 在模块内部定义
工作流程
- 内部组织:
mod帮你把代码按功能分成不同文件/文件夹 - 对外暴露:
lib.rs决定哪些模块和类型可以被外部使用 - 外部使用: examples 或其他 crate 通过
use your_crate_name::来引用
类比理解
想象一个图书馆:
lib.rs就像图书馆的前台目录,告诉你有哪些书可以借mod就像不同的书架分区(文学区、科技区等)pub use就像把热门书籍放到前台展示区,方便读者直接找到
这就是为什么在 examples 中,你需要通过 use your_crate_name::MenuPlugin 来引用,而不是直接 mod menu,因为 examples 是作为外部用户在使用你的库。

浙公网安备 33010602011771号