pull/549/head
sunface 3 years ago
commit d562e17296

@ -164,7 +164,7 @@ fn main() {
大家要记住,线程的启动时间点和结束时间点是不确定的,因此存在一种可能,当主线程执行完, `v` 被释放掉时,新的线程很可能还没有结束甚至还没有被创建成功,此时新线程对 `v` 的引用立刻就不再合法! 大家要记住,线程的启动时间点和结束时间点是不确定的,因此存在一种可能,当主线程执行完, `v` 被释放掉时,新的线程很可能还没有结束甚至还没有被创建成功,此时新线程对 `v` 的引用立刻就不再合法!
好在报错里进行了提示:`to force the closure to take ownership of v (and any other referenced variables), use the move keyword`,让我们使用 `move` 关键字拿走 `v` 的所有权即可: 好在报错里进行了提示:```to force the closure to take ownership of v (and any other referenced variables), use the `move` keyword```,让我们使用 `move` 关键字拿走 `v` 的所有权即可:
```rust ```rust
use std::thread; use std::thread;

@ -355,7 +355,7 @@ impl Counter {
} }
``` ```
我们为计数器 `Counter` 实现了一个关联函数 `new`,用于创建新的计数器实例。下面们继续为计数器实现 `Iterator` 特征: 我们为计数器 `Counter` 实现了一个关联函数 `new`,用于创建新的计数器实例。下面们继续为计数器实现 `Iterator` 特征:
```rust ```rust
impl Iterator for Counter { impl Iterator for Counter {

@ -64,7 +64,7 @@ match x {
### 通过序列 `..=` 匹配值的范围 ### 通过序列 `..=` 匹配值的范围
在[数值类型](https://course.rs/basic/base-type/numbers.html#序列range)中我们有讲到一个序列语法,该语不仅可以用循环中,还能用于匹配模式。 在[数值类型](https://course.rs/basic/base-type/numbers.html#序列range)中我们有讲到一个序列语法,该语不仅可以用循环中,还能用于匹配模式。
`..=` 语法允许你匹配一个闭区间序列内的值。在如下代码中,当模式匹配任何在此序列内的值时,该分支会执行: `..=` 语法允许你匹配一个闭区间序列内的值。在如下代码中,当模式匹配任何在此序列内的值时,该分支会执行:

@ -28,7 +28,7 @@ fn main() {
- `match` 的匹配必须要穷举出所有可能,因此这里用 `_` 来代表未列出的所有可能性 - `match` 的匹配必须要穷举出所有可能,因此这里用 `_` 来代表未列出的所有可能性
- `match` 的每一个分支都必须是一个表达式,且所有分支的表达式最终返回值的类型必须相同 - `match` 的每一个分支都必须是一个表达式,且所有分支的表达式最终返回值的类型必须相同
- **X | Y**逻辑运算符 `或`,代表该分支可以匹配 `X` 也可以匹配 `Y`,只要满足一个即可 - **X | Y**类似逻辑运算符 `或`,代表该分支可以匹配 `X` 也可以匹配 `Y`,只要满足一个即可
其实 `match` 跟其他语言中的 `switch` 非常像,`_` 类似于 `switch` 中的 `default` 其实 `match` 跟其他语言中的 `switch` 非常像,`_` 类似于 `switch` 中的 `default`

Loading…
Cancel
Save