【笔记】Rust的模块

前言

Rust的模块学习笔记
Rust中可以创建有主函数的模块,也可以创建没有主函数的模块

在项目中创建一个Library模块

  • 在项目中创建一个没有主函数的Library模块

<project_name>:项目名
<module_name>:模块名

1
2
cd <project_name>
cargo new --lib <module_name>
  • 创建后的目录结构
1
2
3
4
5
6
7
8
9
+ <project_name>
+ <module_name>
+ src
- lib.rs
- Cargo.toml
+ src
- main.rs
- Cargo.lock
- Cargo.toml

定义模块

定义一个私有模块

  • Rust中定义的模块默认是私有的
  • 私有模块不能被外部其他模块引用
  • 私有模块中所有的函数都是私有的
//src/lib.rs
1
2
3
4
5
mod 模块名 {
fn 函数名() {
...
}
}

定义一个公有模块

  • 通过pub关键字修饰的模块是公有模块,公有模块可以被外部其他模块引用
  • 公有模块中可以定义私有函数,也可以定义公有函数
//src/lib.rs
1
2
3
4
5
pub mod 模块名 {
fn 函数名() {
...
}
}

定义嵌套的模块

  • 模块中可以嵌套模块
//src/lib.rs
1
2
3
4
5
6
7
pub mod 模块名 {
pub mod 模块名 {
fn 函数名() {
...
}
}
}

引入模块到项目

引入当前项目的模块

/Cargo.toml
1
2
[dependencies]
模块名={path="../项目名/模块名"}

调用模块中的函数

  • 在文件头部可以引用公有模块,引入后可以使用公有模块内的函数
//src/lib.rs
1
2
3
use 模块名::函数名;

函数名();

使用嵌套的模块中的函数

//src/lib.rs
1
2
3
use 模块名::模块名::函数名;

函数名();

完成

参考文献

哔哩哔哩——面向加薪学习