This commit is contained in:
Aaran Xu 2021-07-17 18:49:44 +08:00
parent 626c050e74
commit 6ae3f86cb5

View File

@ -215,7 +215,7 @@ fn generate_workout(intensity: u32, random_number: u32) {
<span class="caption">示例 13-6调用定义的 `expensive_closure`</span>
现在耗时的计算只在一个地方被调用,并只会在需要结果的时候执行代码。
现在耗时的计算只在一个地方被调用,并只会在需要结果的时候执行代码。
然而,我们又重新引入了示例 13-3 中的问题:仍然在第一个 `if` 块中调用了闭包两次,这调用了慢计算代码两次而使得用户需要多等待一倍的时间。可以通过在 `if` 块中创建一个本地变量存放闭包调用的结果来解决这个问题,不过闭包可以提供另外一种解决方案。我们稍后会讨论这个方案,不过目前让我们首先讨论一下为何闭包定义中和所涉及的 trait 中没有类型注解。