Fix transaction

pull/235/head
Spartucus 6 years ago committed by GitHub
parent affed1c3a5
commit 099a35b25c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -2,7 +2,7 @@
> [ch10-00-generics.md](https://github.com/rust-lang/book/blob/master/second-edition/src/ch10-00-generics.md) > [ch10-00-generics.md](https://github.com/rust-lang/book/blob/master/second-edition/src/ch10-00-generics.md)
> <br> > <br>
> commit f65676e17d7fc4c0c7cd7275a7bf15447364831a > commit 9e8d1ed7a1732d9cc09606a9b62ee8838998502f
每一个编程语言都有高效的处理重复概念的工具;在 Rust 中其工具之一就是 **泛型***generics*)。泛型是具体类型或其他属性的抽象替代。我们可以表达泛型的属性,比如他们的行为或如何与其他泛型相关联,而不需要在编写和编译代码时知道他们在这里实际上代表什么。 每一个编程语言都有高效的处理重复概念的工具;在 Rust 中其工具之一就是 **泛型***generics*)。泛型是具体类型或其他属性的抽象替代。我们可以表达泛型的属性,比如他们的行为或如何与其他泛型相关联,而不需要在编写和编译代码时知道他们在这里实际上代表什么。
@ -125,8 +125,8 @@ fn main() {
1. 我们注意到了重复代码。 1. 我们注意到了重复代码。
2. 我们将重复代码提取到了一个函数中,并在函数签名中指定了代码中的输入和返回值。 2. 我们将重复代码提取到了一个函数中,并在函数签名中指定了代码中的输入和返回值。
3. 我们将两个具体的存在重复代码的位置替换为了函数调用 3. 我们将重复代码的两个实例,改为调用函数
在不同的场景使用不同的方式,我们也可以利用相同的步骤和泛型来减少重复代码。与函数体中现在作用于一个抽象的 `list` 而不是具体值一样,使用泛型的代码也会作用于抽象类型。支持泛型背后的概念与你已经了解的支持函数的概念是一样的,不过是实现方式不同 在不同的场景使用不同的方式,我们也可以利用相同的步骤和泛型来减少重复代码。与函数体可以在抽象`list`而不是特定值上操作的方式相同,泛型允许代码对抽象类型进行操作
如果我们有两个函数,一个寻找一个 `i32` 值的 slice 中的最大项而另一个寻找 `char` 值的 slice 中的最大项该怎么办?该如何消除重复呢?让我们拭目以待! 如果我们有两个函数,一个寻找一个 `i32` 值的 slice 中的最大项而另一个寻找 `char` 值的 slice 中的最大项该怎么办?该如何消除重复呢?让我们拭目以待!
Loading…
Cancel
Save