|
|
@ -145,7 +145,7 @@ fn main() {
|
|
|
|
|
|
|
|
|
|
|
|
这里使用 `use` 引入了三方包 `rand` 中的 `Rng` 特征,因为我们需要调用的 `gen_range` 方法定义在该特征中。
|
|
|
|
这里使用 `use` 引入了三方包 `rand` 中的 `Rng` 特征,因为我们需要调用的 `gen_range` 方法定义在该特征中。
|
|
|
|
|
|
|
|
|
|
|
|
#### crates.io, lib.rs
|
|
|
|
#### crates.io,lib.rs
|
|
|
|
Rust 社区已经为我们贡献了大量高质量的三方包,你可以在 `crates.io` 或者 `lib.rs` 中检索和使用,从目前来说查找包更推荐 `lib.rs`,搜索功能更强大,内容展示也更加合理,但是下载依赖包还是得用`crates.io`。
|
|
|
|
Rust 社区已经为我们贡献了大量高质量的三方包,你可以在 `crates.io` 或者 `lib.rs` 中检索和使用,从目前来说查找包更推荐 `lib.rs`,搜索功能更强大,内容展示也更加合理,但是下载依赖包还是得用`crates.io`。
|
|
|
|
|
|
|
|
|
|
|
|
你可以在网站上搜索 `rand` 包,看看它的文档使用方式是否和我们之前引入方式相一致:在网上找到想要的包,然后将你想要的包和版本信息写入到 `Cargo.toml` 中。
|
|
|
|
你可以在网站上搜索 `rand` 包,看看它的文档使用方式是否和我们之前引入方式相一致:在网上找到想要的包,然后将你想要的包和版本信息写入到 `Cargo.toml` 中。
|
|
|
@ -321,7 +321,7 @@ pub mod a {
|
|
|
|
通过 `pub(in crate::a)` 的方式,我们指定了模块 `c` 和常量 `J` 的可见范围都只是 `a` 模块中,`a` 之外的模块是完全访问不到它们的。
|
|
|
|
通过 `pub(in crate::a)` 的方式,我们指定了模块 `c` 和常量 `J` 的可见范围都只是 `a` 模块中,`a` 之外的模块是完全访问不到它们的。
|
|
|
|
|
|
|
|
|
|
|
|
#### 限制可见性语法
|
|
|
|
#### 限制可见性语法
|
|
|
|
`pub(crate)` 或 `pub(in crate::a)` 就是限制可见性语法, 前者是限制在整个包内可见,后者是通过绝对路径,限制在包内的某个模块内可见,总结一下:
|
|
|
|
`pub(crate)` 或 `pub(in crate::a)` 就是限制可见性语法,前者是限制在整个包内可见,后者是通过绝对路径,限制在包内的某个模块内可见,总结一下:
|
|
|
|
|
|
|
|
|
|
|
|
- `pub` 意味着可见性无任何限制
|
|
|
|
- `pub` 意味着可见性无任何限制
|
|
|
|
- `pub(crate)` 表示在当前包可见
|
|
|
|
- `pub(crate)` 表示在当前包可见
|
|
|
|