Kotlin - 什么是'字符

Mar*_*cel 0 syntax character kotlin

我一直在使用/学习Kotlin一段时间,我只见过`被使用过.

System. `in`
Run Code Online (Sandbox Code Playgroud)

我试过找到一些这方面的东西,但我无法做到.

s1m*_*nw1 6

这是为逃避关键字语法一样in.当Java库使用其中一个作为标识符(函数/属性名称等)时,如果从Kotlin调用它,则必须用反引号包围它.否则,编译器会尝试将其解释为将使代码无法编译的关键字.

转义为Kotlin中关键字的Java标识符

一些科特林关键字在Java有效标识符:in,object,is等.如果一个Java库使用科特林关键字的方法,你仍然可以调用该方法与反引号转义它(')字符:

foo.`is`(bar)
Run Code Online (Sandbox Code Playgroud)

以下是关键字列表:https://kotlinlang.org/docs/reference/keyword-reference.html

  • +1 - 可能值得注意的是,它不仅仅是用于转义关键字,并且对于用`包围的标识符仍有限制,它用于转义任何原本无效的标识符,例如以数字或任何东西开头的任何内容包含空格 - 当然,这些不能从Java代码访问而不会导致语法错误. (2认同)