|
|
@ -19,14 +19,14 @@
|
|
|
|
## Sym
|
|
|
|
## Sym
|
|
|
|
|
|
|
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
| ----------------------- | -------------- | ------------------------------------------------ |
|
|
|
|
| ----------------------- | -------------- | ------------------------------------------------------------------------------------ |
|
|
|
|
| [?] | 错误传播 | 用于简化错误传播 |
|
|
|
|
| [?] | 错误传播 | 用于简化错误传播 |
|
|
|
|
| [()] | 单元类型 | 单元类型,无返回值 |
|
|
|
|
| [()] | 单元类型 | 单元类型,无返回值 |
|
|
|
|
| `!` : [1 函数] [2 类型] | 永不返回 | 永不返回 |
|
|
|
|
| `!` : [1 函数] [2 类型] | 永不返回 | 永不返回 |
|
|
|
|
| [&] | 引用 | 常规引用是一个指针类型,指向了对象存储的内存地址 |
|
|
|
|
| [&] | 引用 | 常规引用是一个指针类型,指向了对象存储的内存地址 |
|
|
|
|
| [\*] | 解引用 | 解出引用所指向的值 |
|
|
|
|
| [\*] | 解引用 | 解出引用所指向的值 |
|
|
|
|
| [@] | 变量绑定 | 为一个字段绑定另外一个变量 |
|
|
|
|
| [@] | 变量绑定 | 为一个字段绑定另外一个变量 |
|
|
|
|
| `_` | | 忽略该值或者类型 |
|
|
|
|
| `_` : [2 模式匹配] | 忽略 | 1. 忽略该值或者类型,否则编译器会给你一个 `变量未使用的` 的警告<br>2. 模式匹配通配符 |
|
|
|
|
| ['a: 'b] | 生命周期约束 | 用来说明两个生命周期的长短 |
|
|
|
|
| ['a: 'b] | 生命周期约束 | 用来说明两个生命周期的长短 |
|
|
|
|
| [{:?}] {:#?} | 打印结构体信息 | 使用 `#[derive(Debug)]` 派生实现 `Debug` 特征 |
|
|
|
|
| [{:?}] {:#?} | 打印结构体信息 | 使用 `#[derive(Debug)]` 派生实现 `Debug` 特征 |
|
|
|
|
| A | | AIntroduction |
|
|
|
|
| A | | AIntroduction |
|
|
|
@ -40,6 +40,7 @@
|
|
|
|
[@]: https://course.rs/basic/match-pattern/all-patterns.html#绑定
|
|
|
|
[@]: https://course.rs/basic/match-pattern/all-patterns.html#绑定
|
|
|
|
['a: 'b]: https://course.rs/advance/lifetime/advance.html#生命周期约束-hrtb
|
|
|
|
['a: 'b]: https://course.rs/advance/lifetime/advance.html#生命周期约束-hrtb
|
|
|
|
[{:?}]: https://course.rs/basic/compound-type/struct.html?search=#使用-derivedebug-来打印结构体的信息
|
|
|
|
[{:?}]: https://course.rs/basic/compound-type/struct.html?search=#使用-derivedebug-来打印结构体的信息
|
|
|
|
|
|
|
|
[2 模式匹配]: https://course.rs/basic/match-pattern/match-if-let.html#_-通配符
|
|
|
|
|
|
|
|
|
|
|
|
[back](#head)
|
|
|
|
[back](#head)
|
|
|
|
|
|
|
|
|
|
|
@ -59,8 +60,9 @@
|
|
|
|
## B
|
|
|
|
## B
|
|
|
|
|
|
|
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
| ------------ | --------- | -------------------------------------- |
|
|
|
|
| ------------ | --------- | ------------------------------------------------------------------------------ |
|
|
|
|
| [变量遮蔽] | shadowing | 允许声明相同的变量名,后者会遮蔽掉前者 |
|
|
|
|
| [变量遮蔽] | shadowing | 允许声明相同的变量名,后者会遮蔽掉前者 |
|
|
|
|
|
|
|
|
| [变量覆盖] | 模式匹配 | 无论是是 `match` 还是 `if let`,他们都可以在模式匹配时覆盖掉老的值,绑定新的值 |
|
|
|
|
| [变量作用域] | 所有权 | 作用域是一个变量在程序中有效的范围 |
|
|
|
|
| [变量作用域] | 所有权 | 作用域是一个变量在程序中有效的范围 |
|
|
|
|
| [表达式] | | 进行求值,结尾无 `;`,有返回值 |
|
|
|
|
| [表达式] | | 进行求值,结尾无 `;`,有返回值 |
|
|
|
|
| [bool 布尔] | 布尔类型 | `true` `false`,占用 1 字节 |
|
|
|
|
| [bool 布尔] | 布尔类型 | `true` `false`,占用 1 字节 |
|
|
|
@ -68,6 +70,7 @@
|
|
|
|
| B | KWB | BIntroduction |
|
|
|
|
| B | KWB | BIntroduction |
|
|
|
|
|
|
|
|
|
|
|
|
[变量遮蔽]: https://course.rs/basic/variable.html#变量遮蔽shadowing
|
|
|
|
[变量遮蔽]: https://course.rs/basic/variable.html#变量遮蔽shadowing
|
|
|
|
|
|
|
|
[变量覆盖]: https://course.rs/basic/match-pattern/match-if-let.html#变量覆盖
|
|
|
|
[变量作用域]: https://course.rs/basic/ownership/ownership.html#变量作用域
|
|
|
|
[变量作用域]: https://course.rs/basic/ownership/ownership.html#变量作用域
|
|
|
|
[bool 布尔]: https://course.rs/basic/base-type/char-bool.html#布尔bool
|
|
|
|
[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#表达式
|
|
|
@ -148,13 +151,15 @@
|
|
|
|
## I
|
|
|
|
## I
|
|
|
|
|
|
|
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
| --------- | -------- | -------------------------- |
|
|
|
|
| ------------- | -------- | --------------------------------------------------------------------- |
|
|
|
|
| [if else] | 流程控制 | 根据条件执行不同的代码分支 |
|
|
|
|
| [if else] | 流程控制 | 根据条件执行不同的代码分支 |
|
|
|
|
| [else if] | 流程控制 | 处理多重条件 |
|
|
|
|
| [else if] | 流程控制 | 处理多重条件 |
|
|
|
|
|
|
|
|
| [if let 匹配] | 模式匹配 | 当你只要匹配一个条件,且忽略其他条件时就用 `if let`,否则都用 `match` |
|
|
|
|
| I | KWI | IIntroduction |
|
|
|
|
| I | KWI | IIntroduction |
|
|
|
|
|
|
|
|
|
|
|
|
[if else]: https://course.rs/basic/flow-control.html#使用-if-来做分支控制
|
|
|
|
[if else]: https://course.rs/basic/flow-control.html#使用-if-来做分支控制
|
|
|
|
[else if]: https://course.rs/basic/flow-control.html#使用-else-if-来处理多重条件
|
|
|
|
[else if]: https://course.rs/basic/flow-control.html#使用-else-if-来处理多重条件
|
|
|
|
|
|
|
|
[if let 匹配]: https://course.rs/basic/match-pattern/match-if-let.html#if-let-匹配
|
|
|
|
|
|
|
|
|
|
|
|
[back](#head)
|
|
|
|
[back](#head)
|
|
|
|
|
|
|
|
|
|
|
@ -193,10 +198,16 @@
|
|
|
|
## M
|
|
|
|
## M
|
|
|
|
|
|
|
|
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
| 名称 | 关键字 | 简介 |
|
|
|
|
| ----------- | ---------- | ----------------------------------------------------- |
|
|
|
|
| ------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
|
|
|
|
|
|
| [模式绑定] | 模式匹配 | 从模式中取出绑定的值 |
|
|
|
|
|
|
|
|
| [match 匹配] | 模式匹配 | `match` 的匹配必须要穷举出所有可能,因此这里用 `_ ` 来代表未列出的所有可能性<br>`match` 的每一个分支都必须是一个表达式,且所有分支的表达式最终返回值的类型必须相同 |
|
|
|
|
|
|
|
|
| [matches! 宏] | 模式匹配 | 将一个表达式跟模式进行匹配,然后返回匹配的结果 `true` 或 `false` |
|
|
|
|
| [move 移动] | 转移所有权 | `let s2 = s1;`<br>`s1` 所有权转移给了 `s2`,`s1` 失效 |
|
|
|
|
| [move 移动] | 转移所有权 | `let s2 = s1;`<br>`s1` 所有权转移给了 `s2`,`s1` 失效 |
|
|
|
|
| M | KWM | MIntroduction |
|
|
|
|
| M | KWM | MIntroduction |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[模式绑定]: https://course.rs/basic/match-pattern/match-if-let.html#模式绑定
|
|
|
|
|
|
|
|
[match 匹配]: https://course.rs/basic/match-pattern/match-if-let.html#match-匹配
|
|
|
|
|
|
|
|
[matches! 宏]: https://course.rs/basic/match-pattern/match-if-let.html#matches宏
|
|
|
|
[move 移动]: https://course.rs/basic/ownership/ownership.html#转移所有权
|
|
|
|
[move 移动]: https://course.rs/basic/ownership/ownership.html#转移所有权
|
|
|
|
|
|
|
|
|
|
|
|
[back](#head)
|
|
|
|
[back](#head)
|
|
|
|