|
|
|
@ -70,28 +70,30 @@
|
|
|
|
|
|
|
|
|
|
[array 数组]: https://course.rs/basic/compound-type/array.html
|
|
|
|
|
[array slice]: https://course.rs/basic/compound-type/array.html#数组切片
|
|
|
|
|
[as转换]: https://course.rs/basic/converse.html#as转换
|
|
|
|
|
[as 转换]: https://course.rs/basic/converse.html#as转换
|
|
|
|
|
|
|
|
|
|
[back](#head)
|
|
|
|
|
|
|
|
|
|
## B
|
|
|
|
|
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
|
| ------------------ | ------------ | ------------------------------------------------------------------------------ |
|
|
|
|
|
| [变量遮蔽] | shadowing | 允许声明相同的变量名,后者会遮蔽掉前者 |
|
|
|
|
|
| [变量覆盖] | 模式匹配 | 无论是是 `match` 还是 `if let`,他们都可以在模式匹配时覆盖掉老的值,绑定新的值 |
|
|
|
|
|
| [变量作用域] | 所有权 | 作用域是一个变量在程序中有效的范围 |
|
|
|
|
|
| [表达式] | | 进行求值,结尾无 `;`,有返回值 |
|
|
|
|
|
| [bool 布尔] | 布尔类型 | `true` `false`,占用 1 字节 |
|
|
|
|
|
| [break] | 循环控制 | 直接跳出当前整个循环 |
|
|
|
|
|
| [backtrace 栈展开] | 不可恢复错误 | `RUST_BACKTRACE=1 cargo run` |
|
|
|
|
|
| | KWB | |
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
|
| ------------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
|
|
|
| [变量遮蔽] | shadowing | 允许声明相同的变量名,后者会遮蔽掉前者 |
|
|
|
|
|
| [变量覆盖] | 模式匹配 | 无论是是 `match` 还是 `if let`,他们都可以在模式匹配时覆盖掉老的值,绑定新的值 |
|
|
|
|
|
| [变量作用域] | 所有权 | 作用域是一个变量在程序中有效的范围 |
|
|
|
|
|
| [表达式]与[语句] | | 表达式:进行求值,结尾无 `;`,有返回值,如 `x + 9` 另见 [附录 C]</br>语句:完成一个操作,结尾有 `;` ,无返回值,如 `let x = 9;` |
|
|
|
|
|
| [bool 布尔] | 布尔类型 | `true` `false`,占用 1 字节 |
|
|
|
|
|
| [break] | 循环控制 | 直接跳出当前整个循环 |
|
|
|
|
|
| [backtrace 栈展开] | 不可恢复错误 | `RUST_BACKTRACE=1 cargo run` |
|
|
|
|
|
| | KWB | |
|
|
|
|
|
|
|
|
|
|
[变量遮蔽]: https://course.rs/basic/variable.html#变量遮蔽shadowing
|
|
|
|
|
[变量覆盖]: https://course.rs/basic/match-pattern/match-if-let.html#变量覆盖
|
|
|
|
|
[变量作用域]: https://course.rs/basic/ownership/ownership.html#变量作用域
|
|
|
|
|
[bool 布尔]: https://course.rs/basic/base-type/char-bool.html#布尔bool
|
|
|
|
|
[表达式]: https://course.rs/basic/base-type/statement-expression.html#表达式
|
|
|
|
|
[语句]: https://course.rs/basic/base-type/statement-expression.html#语句
|
|
|
|
|
[附录 c]: https://course.rs/appendix/expressions.html
|
|
|
|
|
[break]: https://course.rs/basic/flow-control.html#break
|
|
|
|
|
[backtrace 栈展开]: https://course.rs/basic/result-error/panic.html#backtrace-栈展开
|
|
|
|
|
|
|
|
|
@ -280,13 +282,15 @@
|
|
|
|
|
|
|
|
|
|
## N
|
|
|
|
|
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
|
| --------- | ------ | ------------------------------------------------------------------------------------------ |
|
|
|
|
|
| [newtype] | | 为一个[元组结构体]创建新类型。该元组结构体封装有一个字段,该字段就是希望实现特征的具体类型 |
|
|
|
|
|
| | KWN | |
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
|
| ------------------- | ------- | ------------------------------------------------------------------------------------------ |
|
|
|
|
|
| [newtype for Trait] | newtype | 为一个[元组结构体]创建新类型。该元组结构体封装有一个字段,该字段就是希望实现特征的具体类型 |
|
|
|
|
|
| [newtype ] | newtype | 深入 Rust 类型 |
|
|
|
|
|
| | KWN | |
|
|
|
|
|
|
|
|
|
|
[newtype]: https://course.rs/basic/trait/advance-trait.html#在外部类型上实现外部特征newtype
|
|
|
|
|
[newtype for trait]: https://course.rs/basic/trait/advance-trait.html#在外部类型上实现外部特征newtype
|
|
|
|
|
[元组结构体]: https://course.rs/basic/compound-type/struct.html#元组结构体tuple-struct
|
|
|
|
|
[newtype ]: http://localhost:8080/advance/into-types/custom-type.html#newtype
|
|
|
|
|
|
|
|
|
|
[back](#head)
|
|
|
|
|
|
|
|
|
@ -385,17 +389,17 @@
|
|
|
|
|
|
|
|
|
|
## T
|
|
|
|
|
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
|
| ------------------------------------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
|
|
|
| [Tuple 元组] | | 由多种类型组合一起,元组的长度是固定的,元组中元素的顺序也是固定的<br>用模式匹配解构元组:`let (x, y, z) = (20, 19.2, 1)`<br>用 `.` 来访问元组:`tuple.0` 索引从 0 开始 |
|
|
|
|
|
| [Tuple Struct] | 元组结构体 | 结构体必须要有名称,但字段可以没有名称<br>`struct Color(i32, i32, i32);` |
|
|
|
|
|
| [Trait 特征] | 特征 | 一个可以被共享的行为,只要实现了特征,你就能使用该行为 |
|
|
|
|
|
| [T: Trait] | 特征约束 | 还可以有多重约束,`T: Trait1 + Trait2`<br>另见:[where 约束] |
|
|
|
|
|
| [Trait Object] | 特征对象 | 特征对象指向实现了 `Trait` 特征的类型的实例,可以在运行时通过特征对象找到具体调用的类型方法 |
|
|
|
|
|
| `type` 1. [关联类型] 2. [默认泛型类型参数] | | 1. `type Item;`<br>`Self` 用来指代当前调用者的具体类型,那么 `Self::em` 就用来指代该类型实现中定义的 `Item` 类型<br>2. `type Output = Struct;`<br>指定一个默认值,返回一个关联类型 `Output` |
|
|
|
|
|
| [特征定义中的特征约束] | 特征 | 用来说明一个特征需要实现另一个特征 |
|
|
|
|
|
| [TryInto 转换] | 类型转换 | 尝试进行一次转换,并返回一个 `Result`,可以对其进行相应的错误处理 |
|
|
|
|
|
| | KWT | |
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
|
| -------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
|
|
|
| [Tuple 元组] | | 由多种类型组合一起,元组的长度是固定的,元组中元素的顺序也是固定的<br>用模式匹配解构元组:`let (x, y, z) = (20, 19.2, 1)`<br>用 `.` 来访问元组:`tuple.0` 索引从 0 开始 |
|
|
|
|
|
| [Tuple Struct] | 元组结构体 | 结构体必须要有名称,但字段可以没有名称<br>`struct Color(i32, i32, i32);` |
|
|
|
|
|
| [Trait 特征] | 特征 | 一个可以被共享的行为,只要实现了特征,你就能使用该行为 |
|
|
|
|
|
| [T: Trait] | 特征约束 | 还可以有多重约束,`T: Trait1 + Trait2`<br>另见:[where 约束] |
|
|
|
|
|
| [Trait Object] | 特征对象 | 特征对象指向实现了 `Trait` 特征的类型的实例,可以在运行时通过特征对象找到具体调用的类型方法 |
|
|
|
|
|
| `type` 1. [关联类型] 2. [默认泛型类型参数] 3. [类型别名] | | 1. `type Item;`<br>`Self` 用来指代当前调用者的具体类型,那么 `Self::em` 就用来指代该类型实现中定义的 `Item` 类型<br>2. `type Output = Struct;`<br>指定一个默认值,返回一个关联类型 `Output` |
|
|
|
|
|
| [特征定义中的特征约束] | 特征 | 用来说明一个特征需要实现另一个特征 |
|
|
|
|
|
| [TryInto 转换] | 类型转换 | 尝试进行一次转换,并返回一个 `Result`,可以对其进行相应的错误处理 |
|
|
|
|
|
| | KWT | |
|
|
|
|
|
|
|
|
|
|
[tuple 元组]: https://course.rs/basic/compound-type/tuple.html#元组
|
|
|
|
|
[tuple struct]: https://course.rs/basic/compound-type/struct.html#元组结构体tuple-struct
|
|
|
|
@ -406,6 +410,7 @@
|
|
|
|
|
[默认泛型类型参数]: https://course.rs/basic/trait/advance-trait.html#默认泛型类型参数
|
|
|
|
|
[特征定义中的特征约束]: https://course.rs/basic/trait/advance-trait.html#特征定义中的特征约束
|
|
|
|
|
[tryinto 转换]: https://course.rs/basic/converse.html#tryinto-转换
|
|
|
|
|
[类型别名]: https://course.rs/advance/into-types/custom-type.html#类型别名type-alias
|
|
|
|
|
|
|
|
|
|
[back](#head)
|
|
|
|
|
|
|
|
|
@ -469,12 +474,9 @@
|
|
|
|
|
|
|
|
|
|
## Y
|
|
|
|
|
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
|
| ------ | ------ | ---------------------------------------------------- |
|
|
|
|
|
| [语句] | | 完成一个操作,结尾有 `;` ,无返回值,如 `let x = 9;` |
|
|
|
|
|
| | KWY | |
|
|
|
|
|
|
|
|
|
|
[语句]: https://course.rs/basic/base-type/statement-expression.html#语句
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
|
| ---- | ------ | ---- |
|
|
|
|
|
| | KWY | |
|
|
|
|
|
|
|
|
|
|
[back](#head)
|
|
|
|
|
|
|
|
|
|