Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

名称

实体(Entity)是一种语言构造,可以在源程序中以某种方式引用,通常通过路径。实体包括类型泛型参数变量绑定循环标签生命周期字段属性lints

声明(Declaration)是一种语法构造,可以引入名称来引用实体。实体名称在作用域内有效 — 该名称可以被引用的源文本区域。

一些实体在源代码中被显式声明,一些作为语言或编译器扩展的一部分被隐式声明

路径 用于引用实体,可能在另一个模块或类型中。

生命周期和循环标签使用专用语法,使用前导引号。

名称被分成不同的命名空间,允许不同命名空间中的实体共享相同的名称而不冲突。

名称解析 是将路径、标识符和标签绑定到实体声明的编译时过程。

对某些名称的访问可能会根据其可见性受到限制。

显式声明的实体

在源代码中显式引入名称的实体有:

  • [macro_use 属性]可以从另一个 crate 引入宏名称
  • [macro_export 属性]可以在 crate 根中为宏引入别名

此外,宏调用属性可以通过展开为上述项之一来引入名称。

隐式声明的实体

以下实体由语言隐式定义,或由编译器选项和扩展引入:

此外,crate 根模块没有名称,但可以通过某些路径限定符或别名引用。