【模块化编程】是指将计算机程序的功能分离成独立的、可相互作用的“模块”的软件设计概念,每个模块都包含着执行一个预期功能的代码,复杂的系统被分割为小块的独立代码块。
Rust中代码模块化组织形式从大到小分为3类:
1. Package(包)
2. Crate(箱)
3. Module(模块)
Package 用于管理一个或多个 Crate(使用Cargo new命令就可以创建一个包);
Crate 是 Rust 的最小编译单元,即 Rust 编译器是以 Crate 为最小单元进行编译的。Crate 在一个范围内将相关的功能组合在一起,并最终通过编译生成一个二进制或库文件。
Module 允许我们将一个 Crate 中的代码组织成独立的代码块,以便于增强可读性和代码复用。同时,Module 还控制代码的可见性,即将代码分为公开代码和私有代码。
可见性修饰符:
pub: 成员对模块可见
pub(self): 成员对模块内的子模块可见
pub(crate): 成员对整个 crate 可见
示例代码:
mod test { pub const MSG: &str = "Hello World!"; pub(self) const NUM: u32 = 32; pub(crate) enum CrateNum { Item = 4 } pub mod inner { pub fn say() { println!("{}", super::NUM); } } } fn main() { println!("{}", test::MSG); println!("{}", test::CrateNum::Item as u32); test::inner::say(); }
标签:模块化,代码,修饰符,Crate,pub,模块,test,Rust From: https://www.cnblogs.com/fanqshun/p/16929148.html