|
|
@ -321,7 +321,7 @@ struct Cacher<T>
|
|
|
|
|
|
|
|
|
|
|
|
> 注意:函数也都实现了这三个 `Fn` trait。如果不需要捕获环境中的值,则可以使用实现了 `Fn` trait 的函数而不是闭包。
|
|
|
|
> 注意:函数也都实现了这三个 `Fn` trait。如果不需要捕获环境中的值,则可以使用实现了 `Fn` trait 的函数而不是闭包。
|
|
|
|
|
|
|
|
|
|
|
|
`value` 是 `Option<i32>` 类型的。在执行闭包之前,`value` 将是 `None`。如果使用 `Cacher` 的代码请求闭包的结果,这时会执行闭包并将结果储存在 `value` 字段的 `Some` 成员中。接着如果代码再次请求闭包的结果,这时不再执行闭包,而是会返回存放在 `Some` 成员中的结果。
|
|
|
|
`value` 是 `Option<u32>` 类型的。在执行闭包之前,`value` 将是 `None`。如果使用 `Cacher` 的代码请求闭包的结果,这时会执行闭包并将结果储存在 `value` 字段的 `Some` 成员中。接着如果代码再次请求闭包的结果,这时不再执行闭包,而是会返回存放在 `Some` 成员中的结果。
|
|
|
|
|
|
|
|
|
|
|
|
刚才讨论的有关 `value` 字段逻辑定义于示例 13-10:
|
|
|
|
刚才讨论的有关 `value` 字段逻辑定义于示例 13-10:
|
|
|
|
|
|
|
|
|
|
|
|