附录A - 关键字

appendix-01-keywords.md


commit 60f22d98fe8ee0ce04824a8536a95f12ba118027

下面的列表中是Rust正在使用或者以后会用关键字。因此,这些关键字不能被用作标识符,例如
函数名、变量名、参数名、结构体、模块名、crates名、常量名、宏名、静态值的名字。

目前正在使用的关键字

  • as - 强制类型转换或者对使用useextern crate声明引入的项目重命名
  • break - 立刻退出循环
  • const - 定义常量或者 不变原生指针 (constant raw pointers)
  • continue - 跳出本次循环,进入下一次循环
  • crate - 引入一个外部 crate 或一个代表 crate 的宏变量
  • else - 创建 ifif let 控制流的分支
  • enum - 定义一个枚举
  • extern - 引入一个外部 crate 、函数或变量
  • false - 布尔值 false
  • fn - 定义一个函数或 函数指针类型 (function pointer type)
  • for - 遍历一个迭代器或实现一个 trait或者指定一个具体的生命周期
  • if - 基于条件表达式的结果分支
  • impl - 实现一个方法或 trait 功能
  • in - for循环语法的一部分
  • let - 绑定一个变量
  • loop - 无条件循环
  • match - 模式匹配
  • mod - 定义一个模块
  • move - 使闭包获取所有权
  • mut - 表示一个可变绑定
  • pub - 在结构体、impl块或模块中表示可以被外部使用
  • ref - 绑定一个引用
  • return - 从函数中返回
  • Self - 实现一个 trait 类型的类型别名
  • self - 表示方法本身或当前模块
  • static - 表示全局变量或在整个程序执行期间保持其生命周期
  • struct - 定义一个结构体
  • super - 表示当前模块的父模块
  • trait - 定义一个 trait
  • true - 布尔值 true
  • type - 定义一个类型别名或相关连的类型
  • unsafe - 表示不安全的代码、函数、traits 或者方法实现
  • use - 引入外部空间的符号
  • where - 表示一个类型约束 [For example]
  • while - 基于一个表达式的结果判断是否进行循环

未使用的保留字

这些关键字没有目前任何功能,但是它们是Rust未来会使用的保留字。

  • abstract
  • alignof
  • become
  • box
  • do
  • final
  • macro
  • offsetof
  • override
  • priv
  • proc
  • pure
  • sizeof
  • typeof
  • unsized
  • virtual
  • yield