diff --git a/src/Ch10_Generic_Types_Traits_and_Lifetimes.md b/src/Ch10_Generic_Types_Traits_and_Lifetimes.md index 071a93c..a5da3a8 100644 --- a/src/Ch10_Generic_Types_Traits_and_Lifetimes.md +++ b/src/Ch10_Generic_Types_Traits_and_Lifetimes.md @@ -267,9 +267,9 @@ fn main() { *清单 10-6:保存类型 `T` 的 `x` 与 `y` 值的 `Point` 结构体* -在结构体定义中使用泛型特性的语法,与在函数定义中用到的类型。首先,这里在紧接着结构体名字之后的尖括号内部,声明了类型参数名字。随后在结构体定义中,在哪些原本会指明具体数据类型的地方,使用了该泛型。 +在结构体定义中使用泛型特性的语法,与在函数定义中用到的类似。首先,在紧接着结构体名字之后,咱们于尖括号内部,声明了类型参数的名字。随后咱们在原本指明具体类型的结构体定义中,用到了那个泛型。 -请注意由于这里之用的一个泛型来定义 `Point`,此定义是说,这个 `Point` 结构体对某些类型 `T` 通用,且字段 `x` 与 `y` *均为* 那种同样类型,而不论那种类型可能是何种类型。在创建一个有着不同类型值的 `Point` ,即下面清单 10-7 中那样,那么这里的代码就不会编译。 +请注意由于咱们只使用了一个泛型来定义 `Point`,那么这个定义就是说,`Point` 结构体对某些类型 `T` 通用,且不论那种类型为何,字段 `x` 与 `y` *均为* 那同一类型。当咱们要创建有着不同类型值的某个 `Point` 时,如下面清单 10-7 中,那么咱们的代码就不会编译。 文件名:`src/main.rs` @@ -286,7 +286,7 @@ fn main() { *清单 10-7:由于字段 `x` 与 `y` 有着同一泛型数据类型 `T`,因此他们必须为同一类型* -在此示例中,当这里将整数值 `5` 赋值给 `x` 时,那么就让编译器明白了该 `Point` 实例的泛型 `T`,将是个整数。那么随后在将 `4.0` 指定给那个已被定义为与 `x` 有着同一类型的 `y` 时,就会得到一个像下面这样的类型不匹配错误: +在此示例中,当咱们把整数值 `5` 赋值给 `x` 时,咱们就让编译器明白,这个 `Point` 实例的泛型 `T` 将是个整数。随后在咱们把 `4.0` 指定给那个已被咱们定义为与 `x` 有着同一类型的 `y` 时,咱们将得到一个下面这样的类型不匹配错误: ```console $ cargo run lennyp@vm-manjaro @@ -301,7 +301,7 @@ For more information about this error, try `rustc --explain E0308`. error: could not compile `generics_demo` due to previous error ``` -要定义一个其中 `x` 与 `y` 同时为泛型,而又可以有着不同类型的 `Point` 结构体,就可以使用多个泛型参数。比如,在下面清单 10-8 中,就将 `Point` 的定义,修改为了对类型 `T` 与 `U` 通用,其中 `x` 为类型 `T`,而 `y` 则是类型 `U`。 +要定义出其中 `x` 与 `y` 同时为泛型,又可以有着不同类型的 `Point` 结构体,咱们可使用多个泛型参数。比如,在下面清单 10-8 中,就将 `Point` 的定义,修改为了对类型 `T` 与 `U` 通用,其中 `x` 为类型 `T`,而 `y` 则是类型 `U`。 文件名:`src/main.rs`