为什么这个 Kotlin 方法有封闭的反引号?
Why does this Kotlin method have enclosing backticks?
下面代码段中的反引号有什么用?
为什么要在 fun is(amount:Int ):Boolean { ... }
周围添加它们?
verifier.`is`(amount)
它允许您调用名称为 Kotlin 关键字的 Java 方法。如果您省略反引号,它将不起作用。
因为is
是Kotlin的保留关键字。由于 Kotlin 应该与 Java 互操作并且 is
是 Java 中的有效方法(标识符)名称,反引号用于转义该方法,以便它可以用作方法而不会将其混淆为关键字。没有它,它将无法工作,因为它是无效的语法。
这是突出显示的 in the Kotlin documentation:
Escaping for Java identifiers that are keywords in Kotlin
Some of the Kotlin keywords are valid identifiers in Java: in
, object
, is
, etc. If a Java library uses a Kotlin keyword for a method, you can still call the method escaping it with the backtick (`) character
foo.`is`(bar)
is
在 Kotlin 保留列表中 words
要为 function/class 名称使用 Kotlin 保留字(例如 is
或 object
),您应该将其包装成反引号
Some of the Kotlin keywords are valid identifiers in Java: in, object, is, etc. If a Java library uses a Kotlin keyword for a method, you can still call the method escaping it with the backtick (`) character
反引号是 "workaround" 允许您调用名称代表 Kotlin 关键字的方法。
Some of the Kotlin keywords are valid identifiers in Java: in, object, is, etc. If a Java library uses a Kotlin keyword for a method, you can still call the method escaping it with the backtick (`) character
对测试有用
反引号在测试长函数名时非常有用:
@Test
fun `adding 3 and 4 should be equal to 7`() {
assertEquals(calculator.add(3, 4), 7)
}
这使函数名称更具可读性。我们可以在函数名中添加空格和其他特殊字符。但是,请记住只在测试中使用它,它违反了常规代码的 Kotlin 编码约定。
下面代码段中的反引号有什么用?
为什么要在 fun is(amount:Int ):Boolean { ... }
周围添加它们?
verifier.`is`(amount)
它允许您调用名称为 Kotlin 关键字的 Java 方法。如果您省略反引号,它将不起作用。
因为is
是Kotlin的保留关键字。由于 Kotlin 应该与 Java 互操作并且 is
是 Java 中的有效方法(标识符)名称,反引号用于转义该方法,以便它可以用作方法而不会将其混淆为关键字。没有它,它将无法工作,因为它是无效的语法。
这是突出显示的 in the Kotlin documentation:
Escaping for Java identifiers that are keywords in Kotlin
Some of the Kotlin keywords are valid identifiers in Java:
in
,object
,is
, etc. If a Java library uses a Kotlin keyword for a method, you can still call the method escaping it with the backtick (`) characterfoo.`is`(bar)
is
在 Kotlin 保留列表中 words
要为 function/class 名称使用 Kotlin 保留字(例如 is
或 object
),您应该将其包装成反引号
Some of the Kotlin keywords are valid identifiers in Java: in, object, is, etc. If a Java library uses a Kotlin keyword for a method, you can still call the method escaping it with the backtick (`) character
反引号是 "workaround" 允许您调用名称代表 Kotlin 关键字的方法。
Some of the Kotlin keywords are valid identifiers in Java: in, object, is, etc. If a Java library uses a Kotlin keyword for a method, you can still call the method escaping it with the backtick (`) character
对测试有用
反引号在测试长函数名时非常有用:
@Test
fun `adding 3 and 4 should be equal to 7`() {
assertEquals(calculator.add(3, 4), 7)
}
这使函数名称更具可读性。我们可以在函数名中添加空格和其他特殊字符。但是,请记住只在测试中使用它,它违反了常规代码的 Kotlin 编码约定。