Rust 模块系统与 Cargo
目录
随着代码变多,你需要模块来组织,用 Cargo 来管理依赖和构建。这是写真实项目的基础。
模块 mod
mod math {
pub fn add(a: i32, b: i32) -> i32 { a + b } // pub 才对外可见
fn secret() -> i32 { 42 }
}
fn main() {
println!("{}", math::add(2, 3)); // 5
// math::secret(); // ❌ 私有,无法访问
}pub 控制可见性,默认模块内私有。可多层嵌套、可用 use 引入:
use math::add;
fn main() { println!("{}", add(1, 2)); }Cargo.toml 与依赖
[package]
name = "demo"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
rand = "0.8"添加后 cargo build 自动从 crates.io 拉取并编译。
常用命令
cargo build # 编译(debug)
cargo build --release # 优化编译
cargo run # 编译并运行
cargo test # 跑测试
cargo add serde # 直接加依赖(新版 Cargo)项目结构建议
src/
├── main.rs
├── lib.rs # 库代码
└── math.rs # 子模块(在 main.rs 用 mod math; 引入)小结
mod+pub+use组织代码可见性。- Cargo 管依赖、构建、测试,一条命令全搞定。
- 想找现成轮子?crates.io 搜索即可。