mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2025-02-06 17:40:12 +08:00
Improve Ch13
This commit is contained in:
parent
6ee991cc26
commit
d2153d1281
@ -255,7 +255,7 @@ $ cargo run le
|
||||
在调用闭包之后:[1, 2, 3, 7]
|
||||
```
|
||||
|
||||
请注意在 `borrows_mutably` 的定义与调用之间,不再有 `println!`: 在 `borrows_mutably` 被定义时,其就捕获了到 `list` 的可变引用。由于该闭包被调用后,咱们没有再使用那个闭包,因此这个可变借用就结束了。由于当存在着一个可变借用(a mutable borrow)时,不允许有其他的借用,因此在该闭包定义与其调用期间,打印那个 `list` 的不可变借用是不被允许的。请尝试在这里添加一个 `println!`,来看看会得到什么消息!
|
||||
请注意在 `borrows_mutably` 的定义与调用之间,不再有 `println!`: 在 `borrows_mutably` 被定义时,其就捕获了到 `list` 的可变引用。由于该闭包被调用后,咱们没有再使用那个闭包,因此这个可变借用就结束了。由于在有着可变借用,a mutable borrow,时不允许有其他的借用,因此在该闭包的定义与调用期间,打印那个 `list` 的不可变借用是不允许的。请尝试在这里添加一个 `println!`,来看看咱们会得到什么报错!
|
||||
|
||||
在即使闭包的函数体并不严格需要所有权,而仍打算强制要求闭包取得他所使用的环境中一些值的所有权时,那么就可以在参数清单前,使用 `move` 关键字。
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user