rust 模块笔记

Posted by 付辉 on Sunday, August 25, 2024 共364字

模块 mod 的作用

  • rust 通过模块来进行访问控制,功能类似 C++语言中的 class。可以控制模块成员的访问属性,公有属性或者私有属性
  • 模块的依赖关系,它也包含父模块和子模块的关系。子模块可以访问父模块中的私有属性,但必须显示进行导入
    • 有两个关键字 self 和 super 可以用来表示这两种关系

self 和 super

提供了相对路径的模块导入,结合模块声明和模块使用来最终确认使用哪个关键字:

  • use mod super::utils; 表示模块导入
  • mod utils; 表示模块声明

有模块声明,就有三方依赖的外部模块,这里需要使用另外的关键字:extern

文件路径和 mod 的关系

文件系统的文件和目录结构与模块具有绑定的对应关系,utils/mod.rs 就属于这种绑定关系的代表,它表示了 mod utils 的模块。

workspace

同一个项目下可以有多个子项目,主要是指文件夹下包含 Cargo.toml 的目录。主项目下可以包含多个这样的目录,然后在存储库的根目录下创建一个 Cargo.toml 来进行统一编辑管理