Merge pull request #808 from Zhong123code/patch-1

Update ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md
pull/811/head
KaiserY 4 months ago committed by GitHub
commit 94994e5b45
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -93,9 +93,10 @@ Rust 选择以这种方式来实现模块系统功能,因此默认隐藏内部
> ### 二进制和库 crate 包的最佳实践 > ### 二进制和库 crate 包的最佳实践
> >
> 我们提到过包可以同时包含一个 *src/main.rs* 二进制 crate 根和一个 *src/lib.rs* 库 crate 根,并且这两个 crate 默认以包名来命名。通常,这种包含二进制 crate 和库 crate 的模式的包,在二进制 crate 中只有足够的代码来启动一个可执行文件,可执行文件调用库 crate 的代码。又因为库 crate 可以共享,这使得其它项目从包提供的大部分功能中受益。 > 我们提到过包package可以同时包含一个 *src/main.rs* 二进制 crate 根和一个 *src/lib.rs* 库 crate 根,并且这两个 crate 默认以包名来命名。通常,这种包含二进制 crate 和库 crate 的模式的包,在二进制 crate 中只保留足以生成一个可执行文件的代码,并由可执行文件调用库 crate 的代码。又因为库 crate 可以共享,这使得其它项目从包提供的大部分功能中受益。
> >
> 模块树应该定义在 *src/lib.rs* 中。这样通过以包名开头的路径,公有项就可以在二进制 crate 中使用。二进制 crate 就完全变成了同其它 外部 crate 一样的库 crate 的用户:它只能使用公有 API。这有助于你设计一个好的 API你不仅仅是作者也是用户 > 模块树应该定义在 *src/lib.rs* 中。这样通过以包名开头的路径,公有项就可以在二进制 crate 中使用。二进制 crate 就变得同其它在该 crate 之外的、使用库 crate 的用户一样:二者都只能使用公有 API。这有助于你设计一个好的 API你不仅仅是作者也是用户
>
> 在[第十二章][ch12]我们会通过一个同时包含二进制 crate 和库 crate 的命令行程序来展示这些包组织上的实践。 > 在[第十二章][ch12]我们会通过一个同时包含二进制 crate 和库 crate 的命令行程序来展示这些包组织上的实践。
### `super` 开始的相对路径 ### `super` 开始的相对路径

Loading…
Cancel
Save