This commit is contained in:
Tengfei Niu 2019-12-05 14:58:09 +08:00 committed by GitHub
parent bdedfc5179
commit d3d0fec39c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,7 +4,7 @@
> <br>
> commit 48b057106646758f6453f42b7887f34b8c24caf6
每一个编程语言都有高效的处理重复概念的工具.在 Rust 中其工具之一就是 **泛型***generics*)。泛型是具体类型或其他属性的抽象替代。我们可以表达泛型的属性,比如他们的行为或如何与其他泛型相关联,而不需要在编写和编译代码时知道他们在这里实际上代表什么。
每一个编程语言都有高效处理重复概念的工具。在 Rust 中其工具之一就是 **泛型***generics*)。泛型是具体类型或其他属性的抽象替代。我们可以表达泛型的属性,比如他们的行为或如何与其他泛型相关联,而不需要在编写和编译代码时知道他们在这里实际上代表什么。
同理为了编写一份可以用于多种具体值的代码,函数并不知道其参数为何值,这时就可以让函数获取泛型而不是像 `i32``String` 这样的具体值。我们已经使用过第六章的 `Option<T>`,第八章的 `Vec<T>``HashMap<K, V>`,以及第九章的 `Result<T, E>` 这些泛型了。本章会探索如何使用泛型定义我们自己的类型、函数和方法!