这一部分的中文教程/文档都很混乱,翻译也五花八门,所以我建议直接看英文官方文档,对于一些名词不要进行翻译,翻译只会让事情更混乱,本篇从实战和实际需求出发,讲解几个名称的关系。
Module & Crate & Package & Workspace
英文中的意思:
Cargo:货物
Crate:板条箱,装箱
package:包裹,包装
Module:组件,模块
看原始翻译的原因是通过原生翻译来理解为什么设计者要用这些名字命名。
当你想要写一个简单代码的时候,可以直接写一个main.rs然后编译:
fn main() {println!("Hello, world!");
}
当业务逻辑接着扩展,出现了很多命名冲突,为了解决这个问题,引入Module,将所有的相关的代码打包成Module,Module是Rust中代码结构的最小组成部分:
mod chinese{pub fn hello() {println!("你好,Rust!");}