rust(三)记录混淆地方


在 Rust 中,将模块(mod)写到其他文件是为了更好地组织代码,使项目结构更清晰、更易于管理。这种做法将一个模块的实现与其他代码分开,从而使代码库更具可维护性。

文件结构与模块系统
Rust 的模块系统允许将模块内容分散到不同文件中。通过这种方式,可以将项目按照功能或逻辑分割成多个文件,每个文件实现不同的模块或子模块。

示例:将模块分到不同文件
以下是一个完整的示例,展示如何将模块分到不同文件中:

文件结构

src/
  main.rs
  my_module.rs
  my_module/
    mod.rs
    sub_module.rs
src/main.rs
这是项目的入口文件,通常包含 main 函数。



mod my_module; // 声明并包含 my_module 模块

fn main() {
    my_module::greet(); // 调用 my_module 模块中的 greet 函数
    my_module::sub_module::sub_greet(); // 调用 my_module::sub_module 模块中的 sub_greet 函数
}
src/my_module.rs
这是一个单独文件实现的模块。这个文件名与模块名相同。



pub mod sub_module; // 声明并包含子模块 sub_module

pub fn greet() {
    println!("Hello from my_module!");
}
src/my_module/mod.rs
这是一个目录模块(directory module),即一个包含在目录中的模块。目录模块文件名通常为 mod.rs。


pub fn greet() {
    println!("Hello from my_module!");
}

pub mod sub_module; // 声明并包含子模块 sub_module
src/my_module/sub_module.rs
这是子模块 sub_module 的实现文件。


pub fn sub_greet() {
    println!("Hello from sub_module!");
}
解释
声明模块:

在 main.rs 文件中,使用 mod my_module; 声明一个模块 my_module,其实现位于 my_module.rs 文件中。
在 my_module.rs 文件中,使用 pub mod sub_module; 声明子模块 sub_module,其实现位于 my_module/sub_module.rs 文件中。
实现模块:

在 my_module.rs 文件中,定义了 greet 函数,并声明了子模块 sub_module。
在 my_module/sub_module.rs 文件中,定义了 sub_greet 函数。
使用模块:

在 main.rs 文件中,调用了 my_module::greet 和 my_module::sub_module::sub_greet 函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gitxuzan_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值