The Rust Programming Language - 第7章 使用包、crate和模块管理不断增长的项目 - 7.1 包和crate

7 使用包、crate和模块管理不断增长的项目

当我们编写大型程序时,组织代码就显得非常重要,因为我们想直接在脑海中构建整个程序,几乎不可能完成的。

随着项目的增长:我们可以把代码分解成多个模块和多个文件来组织

一个包可以包含多个二进制crate和一个可选的crate库,伴随的着包的增长,我们可以将部分代码提取出来,做成独立的crate,这些crate作为外部依赖项

对一个由一系列相互关联的包组合而成的超大大型项目,Cargo提供了“工作空间”这一功能,我们将会在第十四章中cargo workspaces 对此进行讲解

除了对功能进行分组之外,封装实现细节可以让我们更加高级的重用代码:当我们实现了一个操作后,其它代码可以通过该代码的公共接口来进行调用,而不用关心它的实现细节。我们在编写代码时就可以定义哪些部分是其它代码可以使用的公共部分,以及哪些部分是我们有权更改的私有部分

Rust管理代码的“模块系统”包括:

包:cargo的一个功能,它允许我们构建】、测试和分享crate

Crates:一个模块的树形结构,它形成了库或者二进制项目

模块use:允许我们控制作用域和路径的私有性

路径:一个命名例如结构体、函数或模块等项的方式

7.1 包和crate

模块系统的第一部分:我们介绍包和crate,crate是一个二进制项或者库。crate root是一个源文件,rust编译器以它为起始点,并构成你的crate的根模块。

包是提共一系列功能的的一个或者多个crate.

一个包会包含有一个cargo.tm

你可能感兴趣的:(#,Rust,rust,开发语言,包,crate,模块)