mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2025-02-22 20:22:18 +08:00
Update ch09-03-to-panic-or-not-to-panic.md
This commit is contained in:
parent
b7b5629fd7
commit
08284b5b2a
@ -105,7 +105,7 @@ impl Guess {
|
|||||||
|
|
||||||
接着,我们实现了一个借用了 `self` 的方法 `value`,它没有任何其他参数并返回一个 `i32`。这类方法有时被称为 *getter*,因为它的目的就是返回对应字段的数据。这样的公有方法是必要的,因为 `Guess` 结构体的 `value` 字段是私有的。私有的字段 `value` 是很重要的,这样使用 `Guess` 结构体的代码将不允许直接设置 `value` 的值:调用者 **必须** 使用 `Guess::new` 方法来创建一个 `Guess` 的实例,这就确保了不会存在一个 `value` 没有通过 `Guess::new` 函数的条件检查的 `Guess`。
|
接着,我们实现了一个借用了 `self` 的方法 `value`,它没有任何其他参数并返回一个 `i32`。这类方法有时被称为 *getter*,因为它的目的就是返回对应字段的数据。这样的公有方法是必要的,因为 `Guess` 结构体的 `value` 字段是私有的。私有的字段 `value` 是很重要的,这样使用 `Guess` 结构体的代码将不允许直接设置 `value` 的值:调用者 **必须** 使用 `Guess::new` 方法来创建一个 `Guess` 的实例,这就确保了不会存在一个 `value` 没有通过 `Guess::new` 函数的条件检查的 `Guess`。
|
||||||
|
|
||||||
如此获取一个参数并只返回 1 到 100 之间数字的函数就可以声明为接收或返回一个 `Guess`,而不是 `i32`,同时其函数体中也无需进行任何额外的检查。
|
于是,一个接收(或返回) 1 到 100 之间数字的函数就可以声明为接收(或返回) `Guess`的实例,而不是 `i32`,同时其函数体中也无需进行任何额外的检查。
|
||||||
|
|
||||||
## 总结
|
## 总结
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user