Kotlin 中的保留关键字是什么?

What are the Reserved Keywords in Kotlin?

我已经遍历了 https://kotlinlang.org/docs/reference,但找不到在 Kotlin 中使用的保留关键字。 Kotlin 有多少个关键字? 只要我们知道 Java 有自己的关键字列表,如下所示:

有语法参考https://kotlinlang.org/docs/reference/grammar.html

所以双引号中的任何内容都是关键字(如 "class")或运算符(如 "%")。然而许多关键字是 "soft"(如 "file"),这意味着它们取决于它们的句法位置并且仍然可以用作函数名称等。

更新: Kotlin 文档中添加了关键字参考:(here)


可以在 Kotlin Github 存储库中找到当前版本的 hard 关键字的 auto-generated 列表:(here)

有更多的软关键字,在某些上下文中表现得像关键字,如 itfieldobject、访问和成员修饰符。

可以在 grammar reference 中找到更多关于软关键字被视为关键字的上下文,以及整个语法,包括硬关键字所在的位置。

快速定义:编程语言中的保留字(有时称为关键字)是仅具有特殊和特定用途的字符串。编译器在解析代码时使用这些词作为地标。程序员不应该使用这些词来命名变量、函数或 类。当然,在评论中使用它们是完全可以的。

Kotlin 中有 LOTS 个关键字。但没有确定的数字,因为:

  1. Kotlin中关键字(保留字)的定义很差 定义。
  2. Kotlin 太新了,关键字的数量一直在变化(而且没有变小!)。

“官方”关键字通常分为几类:硬、软和运算符。软关键字是可能是关键字的字符串,具体取决于上下文。任何有经验的程序员都不会因为显而易见的原因而冒险使用软关键字。所以当时Kotlin的关键词数量是

31(硬)+ 48(软)+ 41(运算符)= 一些数字太大而无法跟踪

是的,有 120 个关键字。如果不计算运算符,则为 79。相比之下,K&R的C语言有28个关键字,22个运算符=50个。写Unix已经足够好了。

而且我们甚至还没有开始谈论 注释(在没有真正正式声明的情况下偷偷插入大量关键字的狡猾方式)!与 Kotlin 的父代 Java 一样,Kotlin 大量使用注解,并且没有数量限制——您甚至可以创建自己的注解!

也就是说,“必需”注释的列表应该作为 Kotlin 保留字的一部分包含在内,但我觉得很懒。我们只是说大约有两打。这使我们的保留字总数达到...... 144(waaaaay 比我能跟踪的还要多)。感谢 kotlin,简化了我的生活!