下面的代码段中使用的反引号有哪些?
为什么要在fun is(amount:Int ):Boolean { ... }
附近添加它们?
verifier.`is`(amount)
答案 0 :(得分:41)
这是因为is
是Kotlin中的保留关键字。由于Kotlin应该与Java可互操作,并且is
是Java中的有效方法(标识符)名称,因此反引号用于转义方法,以便可以将其用作方法而不会将其作为关键字混淆。没有它它将无法工作,因为它将是无效的语法。
突出显示in the Kotlin documentation:
转义为Kotlin
中关键字的Java标识符某些Kotlin关键字是Java中的有效标识符:
in
,object
,is
等。如果Java库使用Kotlin关键字作为方法,您仍然可以调用用反引号(`)字符转义它的方法foo.`is`(bar)
答案 1 :(得分:4)
它允许您调用名称为Kotlin关键字的Java方法。如果你省略反击,它就不会起作用。
答案 2 :(得分:4)
反引号是一种“解决方法”,允许您调用名称代表Kotlin关键字的方法。
请参阅kotlinlang:
某些Kotlin关键字是Java中的有效标识符:in,object,is等。如果Java库对方法使用Kotlin关键字,您仍然可以使用反引号(`)字符调用转义它的方法< / p>
答案 3 :(得分:2)
反引号在测试长函数名时非常有用:
@Test
fun `adding 3 and 4 should be equal to 7`() {
assertEquals(calculator.add(3, 4), 7)
}
这使得函数名称更具可读性。我们可以在函数名称中添加空格和其他特殊字符。但是,请记住仅在测试中使用它,它违反了常规代码的 Kotlin 编码约定。
答案 4 :(得分:1)
is
words
要将Kotlin保留字(例如is
或object
)用于函数/类名,您应该将其包装为反引号
答案 5 :(得分:1)
某些Kotlin关键字是Java中的有效标识符:in,object,is等。如果Java库对方法使用Kotlin关键字,您仍然可以使用反引号(`)字符调用转义它的方法< / p>