本附录提供了 词法单元 和常见形式的索引,并附有这些元素定义的链接。
| 词法单元 | 用途 |
ident | 标识符 |
r#ident | 原始标识符 |
'ident | 生命周期和循环标签 |
'r#ident | 原始生命周期和循环标签 |
…u8, …i32, …f64, …usize, … | 数字字面量 |
"…" | 字符串字面量 |
r"…", r#"…"#, r##"…"##, … | 原始字符串字面量 |
b"…" | 字节字符串字面量 |
br"…", br#"…"#, br##"…"##, … | 原始字节字符串字面量 |
'…' | 字符字面量 |
b'…' | 字节字面量 |
c"…" | C 字符串字面量 |
cr"…", cr#"…"#, cr##"…"##, … | 原始 C 字符串字面量 |
| 表达式 | 用途 |
|…| expr
|…| -> Type { … } | 闭包 |
ident::… | 路径 |
::crate_name::… | 显式 crate 路径 |
crate::… | crate 相对路径 |
self::… | 模块相对路径 |
super::… | 父模块路径 |
Type::…
<Type as Trait>::ident | 关联项 |
<Type>::… | 限定路径,可用于没有名称的类型,例如 <&T>::…、<[T]>::… 等。 |
Trait::method(…)
Type::method(…)
<Type as Trait>::method(…) | 消歧方法调用 |
method::<…>(…)
path::<…> | 泛型参数,又称 涡轮鱼 |
() | 单元 |
(expr) | 带括号的表达式 |
(expr,) | 单元素元组表达式 |
(expr, …) | 元组表达式 |
expr(expr, …) | 调用表达式 |
expr.0, expr.1, … | 元组索引表达式 |
expr.ident | 字段访问表达式 |
{…} | 块表达式 |
Type {…} | 结构体表达式 |
Type(…) | 元组结构体构造器 |
[…] | 数组表达式 |
[expr; len] | 重复数组表达式 |
expr[..], expr[a..], expr[..b], expr[a..b], expr[a..=b], expr[..=b] | 数组和切片索引表达式 |
if expr {…} else {…} | if 表达式 |
match expr { pattern => {…} } | match 表达式 |
loop {…} | 无限循环表达式 |
while expr {…} | 断言循环表达式 |
for pattern in expr {…} | 迭代器循环 |
&expr
&mut expr | 借用表达式 |
&raw const expr
&raw mut expr | 裸借用表达式 |
*expr | 解引用表达式 |
expr? | try 传播表达式 |
-expr | 求反表达式 |
!expr | 位与逻辑非表达式 |
expr as Type | 类型转换表达式 |
项 是 crate 的组成部分。
| 项 | 用途 |
mod ident;
mod ident {…} | 模块 |
use path; | use 声明 |
fn ident(…) {…} | 函数 |
type Type = Type; | 类型别名 |
struct ident {…} | 结构体 |
enum ident {…} | 枚举 |
union ident {…} | 联合体 |
trait ident {…} | 特型 |
impl Type {…}
impl Type for Trait {…} | 实现 |
const ident = expr; | 常量项 |
static ident = expr; | 静态项 |
extern "C" {…} | 外部块 |
fn ident<…>(…) …
struct ident<…> {…}
enum ident<…> {…}
impl<…> Type<…> {…} | 泛型定义 |
类型表达式 用于引用 类型。
模式 用于匹配值。
| 模式 | 用途 |
"foo", 'a', 123, 2.4, … | 字面量模式 |
ident | 标识符模式 |
_ | 通配符模式 |
.. | 剩余模式 |
a.., ..b, a..b, a..=b, ..=b | 范围模式 |
&pattern
&mut pattern | 引用模式 |
path {…} | 结构体模式 |
path(…) | 元组结构体模式 |
(pattern, …) | 元组模式 |
(pattern) | 分组模式 |
[pattern, …] | 切片模式 |
CONST, Enum::Variant, … | 路径模式 |