更新ch10-01-syntax.md到f2a78f64b668f63f581203c6bac509903f7c00ee

This commit is contained in:
墨娘 2023-03-14 10:34:37 +08:00
parent 20afd3ad8a
commit 7728b85cd9

View File

@ -2,7 +2,7 @@
> [ch10-01-syntax.md](https://github.com/rust-lang/book/blob/main/src/ch10-01-syntax.md)
> <br>
> commit e7c688559e6881257760dfe58567e19e59b14179
> commit f2a78f64b668f63f581203c6bac509903f7c00ee
我们可以使用泛型为像函数签名或结构体这样的项创建定义,这样它们就可以用于多种不同的具体数据类型。让我们看看如何使用泛型定义函数、结构体、枚举和方法,然后我们将讨论泛型如何影响代码性能。
@ -22,7 +22,7 @@
`largest_i32` 函数是从示例 10-3 中摘出来的,它用来寻找 slice 中最大的 `i32`。`largest_char` 函数寻找 slice 中最大的 `char`。因为两者函数体的代码是一样的,我们可以定义一个函数,再引进泛型参数来消除这种重复。
为了参数化这个新函数中的这些类型,我们也需要为类型参数取个名字,道理和给函数的形参起名一样。任何标识符都可以作为类型参数的名字。这里选用 `T`因为传统上来说Rust 的参数名字都比较短通常就只有一个字母同时Rust 类型名的命名规范是骆驼命名法(CamelCase。`T` 作为 “type” 的缩写是大部分 Rust 程序员的首选。
为了参数化这个新函数中的这些类型,我们也需要为类型参数取个名字,道理和给函数的形参起名一样。任何标识符都可以作为类型参数的名字。这里选用 `T`因为传统上来说Rust 的参数名字都比较短通常就只有一个字母同时Rust 类型名的命名规范是首字母大写驼峰式命名法UpperCamelCase。`T` 作为 “type” 的缩写是大部分 Rust 程序员的首选。
如果要在函数体中使用参数,就必须在函数签名中声明它的名字,好让编译器知道这个名字指代的是什么。同理,当在函数签名中使用一个类型参数时,必须在使用它之前就声明它。为了定义泛型版本的 `largest` 函数,类型参数声明位于函数名称与参数列表中间的尖括号 `<>` 中,像这样: