rust笔记14:mod和use的使用区别
在 Rust 中,mod
是一个关键字,用于定义模块(module)。模块是 Rust 中组织代码的基本单元,它可以帮助你将代码分割成更小的、可重用的部分,同时控制代码的可见性(通过 pub
关键字)。
mod
的主要作用
-
组织代码:
- 模块允许你将相关的代码组织在一起,形成一个逻辑单元。
- 例如,可以将与网络相关的代码放在
network
模块中,与文件操作相关的代码放在file
模块中。
-
控制可见性:
- 默认情况下,模块中的项(如函数、结构体、枚举等)是私有的,只能在模块内部访问。
- 使用
pub
关键字可以将模块中的项公开,使其可以在模块外部访问。
-
命名空间管理:
- 模块为代码提供了命名空间,避免了命名冲突。
- 例如,两个模块中可以定义同名的函数,但它们不会冲突,因为它们属于不同的命名空间。
-
代码复用:
- 模块可以被其他模块或文件引用,从而实现代码的复用。
mod
的基本用法
1. 定义模块
在 Rust 中,可以使用 mod
关键字定义一个模块。模块可以包含函数、结构体、枚举、常量、其他模块等。
mod network {
pub fn connect() {
println!("Connecting to the network...");
}
}
fn main() {
network::connect(); // 调用模块中的函数
}
2. 模块的可见性
默认情况下,模块中的项是私有的。如果需要从模块外部访问,需要使用 pub
关键字。
mod network {
pub fn connect() {
println!("Connecting to the network...");
}
fn private_function() {
println!("This is private");
}
}
fn main() {
network::connect(); // 可以访问
// network::private_function(); // 错误:private_function 是私有的
}
3. 嵌套模块
模块可以嵌套,形成层次化的结构。
mod network {
pub mod tcp {
pub fn connect() {
println!("Connecting via TCP...");
}
}
pub mod udp {
pub fn connect() {