文件结构

  • 项目(package):可以用来构建、测试和分享包
  • 工作空间(WorkSpace):可以进一步将多个包联合在一起,组织成工作空间
  • 包(Crate):一个由多个模块组成的树形结构,可以作为三方库进行分发,也可以生成可执行文件,进行运行
  • 模块(Module):可以一个文件多个模块,也可以一个文件一个模块。模块可以被认为是真实项目中的代码组织单元。

Crate

Crate 分为两大类

  • 二进制包,根文件 main.rs,一个项目可以有多个
  • 库包,根文件 lib.rs,一个项目只能有一个

如果一个项目同时有 main.rslib.rs 两个文件,意味着该项目同时有库包和二进制包,且这两个包的名字都与项目名相同。