Update Ch10

This commit is contained in:
Unisko PENG 2023-04-12 15:56:44 +08:00
parent bdba3c5ffa
commit a0dd3ddd07

View File

@ -75,9 +75,9 @@ fn main() {
尽管此代码工作了,但那些重复代码则是乏味且容易出错的。在修改此代码时,还必须记住在多个地方更新代码。
这里将通过定义一个运行在某个参数中,所传入的任意整数清单之上的函数,来消除这种重复。此方案会令到这里的代码更清楚,并实现了找出某个清单中极大数这一概念的抽象表达。
为消除这种重复,咱们将通过定义一个运行在于参数中所传入的任意整数清单之上的函数,来消除这种重复。此方案会令到这里的代码更清楚,并实现了找出某个清单中极大数这一概念的抽象表达。
在下面的清单 10-3 中,就把找出极大数的代码,提取到了一个名为 `largest` 的函数。随后调用该函数来找出了清单 10-2 的两个清单中的极大数。这里还可以在将来可能遇到的任何其他 `i32` 值清单上,运用这个函数。
在下面的清单 10-3 中,咱们就把找出极大数的代码,提取到了一个名为 `largest` 的函数中。随后调用了该函数来找出了清单 10-2 中两个数字清单的极大数。将来咱们还可以在可能遇到的任何其他 `i32` 值清单上,使用这个函数。
文件名:`src/main.rs`
@ -122,14 +122,16 @@ fn main() {
比如,假设说这里有两个函数:一个时在 `i32` 值的切片中,找出极大项,而另一个是在 `char` 值的切片中,找出极大项。那该怎样消除重复呢?下面就来解决这个问题!
## 泛型数据类型Generic Data Types
## 通用数据类型
这里要使用泛型特性,来创建诸如函数前面或结构体等的定义,随后就可以用这些定义,用于许多不同的具体数据类型了。首先来看看,怎样运用泛型特性,来定义函数、结构体、枚举及方法等。接下来就会讨论到,泛型特性如何影响到代码性能。
**Generic Data Types**
这里会使用泛型,来创建诸如函数签名或结构体等的定义,随后咱们便可以将这些定义,用于许多不同的具体数据类型。首先咱们来看看,怎样运用泛型特性来定义函数、结构体、枚举及方法等。接下来就会讨论到,泛型如何影响到代码性能。
### 函数定义方面
在定义使用到泛型特性的函数时,就要把泛型放在原先通常在其中指明参数与返回值数据类型的函数签名中。这样做就会在防止了代码重复的同时,令到代码更为灵活,同时提供到更多功能给该函数的调用者。
在定义用到泛型的函数时,就要把泛型放在咱们通常于其中,指明参数与返回值数据类型的函数签名中。这样做就会在阻止代码重复的同时,令到代码更为灵活,同时提供到更多功能给咱们函数的调用者。
继续之前的 `largest` 函数,下面清单 10-4 给出了两个均为找出某个切片中极大值的函数。这随后就要将这两个函数,合并为使用泛型特性的单个函数。