Kotlin 中的下划线名称是为什么保留的?

Zei*_*zei 8 kotlin

在 Python 中,您可以将其_用作变量名。如果我val _ = 3在 Kotlin IntelliJ 中编写例如给我一个错误:

Names _, __, ___, ..., are reserved in Kotlin
Run Code Online (Sandbox Code Playgroud)

它们是用来做什么的?它们的作用是什么?

hot*_*key 13

单下划线已经以多种方式使用,您希望跳过参数或组件并且不想为其命名:

这些语法形式是在 Kotlin 1.1 中引入的,这就是为什么在 Kotlin 1.1 之前保留下划线名称的原因。像__,这样的多下划线名称___也被保留,这样它们就不会在以前使用单下划线名称的地方被滥用。


正如@Willi Mentzel评论中指出的那样,下划线的另一种用法虽然不在标识符的位置,但在数字文字中分隔数字组

val oneMillion = 1_000_000
val creditCardNumber = 1234_5678_9012_3456L 
Run Code Online (Sandbox Code Playgroud)

  • 作为补充:它们可用于使数字常量更具可读性:10_000 而不是 10000 (https://kotlinlang.org/docs/reference/basic-types.html#underscores-in-numeric-literals-since-11) 。 (2认同)