模块基础
本课属于 Coddy Rust 学习旅程的“面向对象编程”单元。第 8 课,共 61 课。
随着 Rust 程序不断变大,把所有内容都放在一个文件中会变得很难管理。Rust 的模块系统可以让你把结构体及其实现移到单独的文件中,从而整理代码。
要在单独的文件中创建模块,只需创建一个使用所需模块名称的新文件。例如,要创建 player 模块,你需要创建一个名为 player.rs 的文件:
// player.rs
struct Player {
name: String,
score: u32,
}
impl Player {
fn new(name: String) -> Player {
Player { name, score: 0 }
}
}
要在主文件中使用这个模块,你需要用 mod 关键字声明它。这会告诉 Rust 查找一个同名文件:
// main.rs
mod player;
fn main() {
// 现在我们可以访问 player 模块中的内容了
}
mod player; 声明告诉 Rust 查找并包含 player.rs 的内容。你可以把它理解为将该文件中的代码链接到你的程序中。模块名称必须与文件名完全一致(不包括 .rs 扩展名)。
这种分离方式可以将相关代码放在一起。结构体定义及其所有方法都放在一个专用文件中,而 main.rs 则专注于程序的入口点。在下一课中,你将学习如何实际访问放在模块中的项。
亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
面向对象编程中的所有课
自己练习: Rust 在线编译器