文件与模块

  在这一节里,学习Cargo项目文件、目录与模块相互关系。Rust语言表达模块的三种方式。

学习内容

  • 了解和学习本软件篋模块文件结构
  • 理解和掌握Cargo项目目录与文件关系
  • 理解和掌握Cargo项目模块与文件关系
  • 理解和掌握Cargo项目文件与文件关系

篇目

image

文件本身表达模块方式

  Ⓓ 使用模块关键词mod和代码块{}的表达式,在Rust语言程序文件里,可以定义任何一个或者多个不同名称的模块。

  在文件lib.rs里,创建了称之为mod_trait模块,该模块实现代码也在该文件里。

文件名称表达模块方式

  Ⓓ 使用模块关键词mod语句,在Rust语言程序文件里,可以定义任何一个或者多个不同的模块。

  使用关键词mod语句,实现模块代码存在两种形式:以文件名称作为模块名称方式和以目录名称为模块名称方式。这里先解释前面一种情况,如程序文件mod_generics.rs

  实现以文件名称作为模块名称具体方法是,在文件lib.rs里,使用语句pub mod mod_generics;,且在与文件lib.rs相同的目录下,创建名称为mod_generics.rs模块程序文件,为了其自身模块,该文件不需要使用模块关键词了。

目录名称表达模块方式

  程序文件mod.rs是第三种表达模块方式,即以目录名称为模块名称方式。

  在程序文件lib.rs里,使用语句pub mod mod_bare;,说明了该模块是外部文件实现模块代码,但是从中微分确认其实现方式。我们看到在与文件lib.rs相同目录下存在目录mod_bare,说明了该实现在该目录下的文件,默认情况下就是程序文件mod.rs,所有模块目录的入口文件默认情况下都是该文件名称。

参考资料