Skip to content

关键字 ​

关键字在所有源码上下文中保留,不能作为普通标识符使用。

声明 ​

package、import、as、class、interface、enum、extends、implements、public、private

控制流 ​

if、else、for、switch、case、break、continue、return、try、catch、finally、throw

值与类型操作 ​

true、false、null、this、super、is、as

基本类型名如 Integer、Boolean 和 Void 由语言预声明,也不能重新定义。

兼容性 ​

新增关键字可能破坏旧源码,因此稳定版本应尽量使用上下文关键字,或通过新的语言版本启用。当前规范不提供反引号转义关键字作为标识符的语法。

大小写敏感:class 是关键字,Class 可以是类型名。关键字只能使用 ASCII 字符,避免视觉相似字符影响审查。

value 是上下文关键字,只在顶层的 value TypeName 声明头中具有特殊含义;字段、参数、局部变量和函数仍可命名为 value。

annotation 是上下文关键字,只在顶层 Annotation 声明头中具有特殊含义。目标与保留策略是 std.annotation 中的普通 interface 名称。

extension 是上下文关键字,只在顶层 extension function 声明头中具有特殊含义。

Module 和 module 都不是关键字。前者是 bootstrap interface,后者的模块入口与 bootstrap 工厂都是普通函数;参数标签 name、version、exports 和 dependencies 都是普通标识符。

Norm 0.25