Update Ch10

This commit is contained in:
Peng Hailin, 2023-04-12 21:04:32 +08:00
parent 3255cab4bd
commit d64120937b

View File

@ -435,9 +435,9 @@ fn main() {
*清单 10-11一个使用了与其结构体定义不同泛型的方法*
`main` 函数中,这里已定义了一个有着 `x``i32` (值为 `5`),及 `y``f64` (值为 `10.4`)的 `Point`其中的变量 `p2` 是个有着 `x` 为字符串切片(值为 `Hello`),同时 `y``char` (值为 `c`)的 `Point` 结构体。以 参数 `p2` 调用 `p1` 上的 `mixup`给到了 `p3`,由于 `p3``x` 来自于 `p1`,因此将有一个 `i32``x`。而由于这个变量 `p3``y` 来自于 `p2`, 因此他将有一个 `char``y`。那个 `println!` 宏调用,将打印 `p3.x = 5, p3.y = c`
`main` 函数中,咱们定义了一个有着 `x``i32` (值为 `5`),及 `y``f64` (值为 `10.4`)的 `Point`。变量 `p2` 是个有着 `x` 为字符串切片(值为 `Hello`),同时 `y``char` (值为 `c`)的 `Point` 结构体。以参数 `p2` 调用 `p1` 上的 `mixup`就给到咱们 `p3`,由于 `p3``x` 来自于 `p1`,因此将有一个 `i32``x`。而由于这个变量 `p3``y` 来自于 `p2`, 因此他将有一个 `char``y`。那个 `println!` 宏调用,将打印 `p3.x = 5, p3.y = c`
此示例的目的,是要对其中有些泛型参数是以 `impl` 来声明,而另一些泛型参数则是以方法定义来声明的一种情形,加以演示。由于这里的泛型参数 `T``U`与结构体定义在一起,因此他们是在 `impl` 后声明的。而其中的泛型参数 `X``Y`,由于他们只与那个方法 `mixup` 有关,因此他们就被声明在了 `fn mixup` 之后。
此示例的目的,是要对其中有些泛型参数是以 `impl` 来声明,而另一些泛型参数则是以方法定义来声明的情形,加以演示。由于这里的泛型参数 `T``U` 与结构体定义在一起,因此他们是在 `impl` 后声明的。而其中的泛型参数 `X``Y`由于他们只与那个方法 `mixup` 有关,所以他们就被声明在了 `fn mixup` 之后。
### 使用泛型参数代码的性能问题