语法索引

    • ! (ident!(…), ident!{…}, ident![…]): 表示宏扩展。详见。
    • ! (!expr): 位计算或逻辑互补。可重载(Not)。
    • != (var != expr): 不等。可重载(PartialEq)。
    • % (expr % expr): 算数取余。可重载(Rem)。
    • %= (var %= expr): 算数取余并赋值。可重载(RemAssign)。
    • & (expr & expr): 位计算和。可重载(BitAnd)。
    • & (&expr, &mut expr): 借用。详见引用和借用
    • & (&type, &mut type, &'a type, &'a mut type): 借用指针类型。详见。
    • &= (var &= expr): 位计算和并赋值。可重载(BitAndAssign)。
    • && (expr && expr): 逻辑和。
    • * (expr * expr): 算数乘法。可重载(Mul)。
    • * (*expr): 解引用。
    • *= (var *= expr): 算数乘法并赋值。可重载(MulAssign)。
    • + (expr + expr): 算数加法。可重载(Add)。
    • + (, 'a + trait): 复合类型限制。详见Traits(多个 trait bound)
    • += (var += expr): 算数加法并赋值。可重载(AddAssign)。
    • ,: 参数和元素分隔符。详见,函数,,泛型,,闭包和。
    • - (expr - expr): 算数减法。可重载(Sub)。
    • - (- expr): 算数取反。可重载(Neg)。
    • -= (var -= expr): 算数减法并赋值。可重载(SubAssign)。
    • -> (fn(…) -> type, |…| -> type): 函数和闭包的返回值类型。详见函数,。
    • . (expr.ident): 访问方法。详见结构体,。
    • .. (.., expr.., ..expr, expr..expr): 右开区间的范围常量
    • .. (..expr): 结构体常量更新语法。详见结构体(更新语法)
    • .. (variant(x, ..), struct_type { x, .. }): “余下的”模式绑定。详见。
    • ... (expr ... expr): 闭区间范围模式。详见模式(范围)
    • / (expr / expr): 算数除法。可重载(Div)。
    • /= (var /= expr): 算数除法并赋值。可重载(DivAssign)。
    • : (pat: type, ident: type): 限制。详见,函数
    • : (ident: expr): 结构体字段初始化。详见结构体
    • : ('a: loop {…}): 循环标签。详见
    • ;: 语句和项终结符。
    • ; ([…; len]): 定长数组语法的一部分。详见原生类型(数组)
    • << (expr << expr): 左移。可重载(Shl)。
    • <<= (var <<= expr): 左移并赋值。可重载(ShlAssign)。
    • < (expr < expr): 小于。可重载(PartialOrd)。
    • <= (var <= expr): 小于。可重载(PartialOrd)。
    • = (var = expr, ident = type): 赋值 / 等价。详见,type别名,默认泛型参数。
    • == (var == expr): 相等。可重载(PartialEq)。
    • => (pat => expr): 匹配分支语法的一部分。详见。
    • > (expr > expr): 大于。可重载(PartialOrd)。
    • >= (var >= expr): 大于。可重载(PartialOrd)。
    • >> (expr >> expr): 右移。可重载(Shr)。
    • >>= (var >>= expr): 右移并赋值。可重载(ShrAssign)。
    • @ (ident @ pat): 模式绑定。详见模式(绑定)
    • ^ (expr ^ expr): 位计算异或。可重载(BitXor)。
    • ^= (var ^= expr): 位计算异或并赋值。
    • | (expr | expr): 位计算或。可重载(BitOr)。
    • | (pat | pat): 另外的模式。详见。
    • | (|…| expr): 闭包。详见闭包
    • |= (var |= expr): 位计算或并赋值。可重载(BitOrAssign)。
    • || (expr || expr): 逻辑或。
    • _: “忽略”的模式匹配。详见。也被用来增强整型常量的可读性。
    • ? (expr?): Error propagation。当遇到时提早返回,否则不执行,类似于try! macro
    • 'ident: 命名的生命周期或循环标签。详见。
    • …u8, …i32, …f64, …usize, …: 特定类型的数字常量。
    • "…": 字符串常量。详见字符串
    • r"…", r#"…"#, r##"…"##, …: 原始字符串常量,转义字符不会被处理。详见。
    • b"…": 字节字符串常量,生成一个[u8]而不是一个字符串。详见参考手册(字节字符串常量)
    • br"…", br#"…"#, br##"…"##, …: 原始字节字符串常量,原始和字节字符串常量的组合。详见。
    • '…': 字符常量。详见原生类型(char
    • |…| expr: 闭包。详见。
    • ident::ident: 路径。详见crate 和模块(定义模块)
    • ::path: 相对 crate 根的路径(也就是说,一个明确的绝对路径)。详见。
    • self::path: 相对当前模块的路径(也就是说,一个明确的相对路径)。详见crate 和模块(pub use重导出)
    • super::path: 相对当前模块父模块的路径。详见。
    • type::ident: 关联常量,函数和类型。详见关联类型
    • <type>::…: 一个不能直接命名的类型的关联项(例如,<&T>::…<[T]>::…等)。详见。
    • path<…> (e.g. Vec<u8>): 用类型指定泛型的参数类型。详见泛型
    • path::<…>, method::<…> (e.g. "42".parse::<i32>()): 用表达式指定泛型类型,函数或方法的参数。
    • fn ident<…> …: 定义泛型函数。详见。
    • struct ident<…> …: 定义泛型结构体。详见泛型
    • enum ident<…> …: 定义泛型枚举。详见。
    • impl<…> …: 定义泛型实现。
    • for<…> type: 高级生命周期 bound。
    • type<ident=type> (e.g. Iterator<Item=T>): 一个泛型类型,它有一个或多个有特定赋值的关联类型。详见关联类型
    • T: U: 泛型参数T被限制为实现了U的类型。详见。
    • T: 'a: 泛型类型T必须超过声明周期'a。当我们说一个类型“超出”它的作用域时,意味着它不能间接的包含短于'a作用域的任何引用。
    • T : 'static: 泛型类型T不包含除'static之外的被借用的引用。
    • 'b: 'a: 泛型生命周期'b必须超过声明周期'a
    • T: ?Sized: 允许泛型类型是一个不定长度类型。详见不定长类型
    • 'a + trait, trait + trait: 复合类型限制。详见
    • #[meta]: 外部属性。详见属性
    • #![meta]: 内部属性。详见。
    • $ident: 宏替代(部分)。详见
    • $ident:kind: 宏 capture。详见。
    • $(…)…: 宏重复(部分)。详见
    • //: 行注释。详见。
    • //!: 内部行文档注释。详见注释
    • ///: 外部行文档注释。详见。
    • /*…*/: 块注释。详见注释
    • /*!…*/: 内部块文档注释。详见。
    • /**…*/: 内部块文档注释。详见注释
    • !: 一个空的 Never type。详见
    • (): 空元组(也就是单元),常量和类型。
    • (expr): 自带括号的表达式。
    • (expr,): 单元素元组表达式。详见原生类型(元组)
    • (type,): 单元素元组类型。详见。
    • (expr, …): 元组类型。详见原生类型(元组)
    • (type, …): 元组类型。详见。
    • expr(expr, …): 函数调用表达式。也用于初始化元组struct和元组enum变量。详见函数
    • ident!(…), ident!{…}, ident![…]: 宏调用。详见。
    • expr.0, expr.1, …: 元组索引。详见原生类型(元组索引)
    • {…}: 表达式块
    • Type {…}: struct常量。详见。
    • […]: 数组常量。详见原生类型(数组)
    • [expr; len]: 包含exprlen次拷贝的数组常量。详见。
    • [type; len]: 包含lentype实例的数组类型。详见原生类型(数组)
    • expr[expr]: 集合索引。可重载(IndexIndexMut)。
    • expr[..], expr[a..], expr[..b], expr[a..b]: 用来生成集合切片的集合索引,分别使用RangeRangeFrom,,RangeFull作为“索引”。