如何正确使用Android中的中缀表示法(Kotlin语言)?
How to use infix notation in Android properly (Kotlin language)?
我已经阅读了 Kotlin 文档以及维基百科链接 (https://en.wikipedia.org/wiki/Infix_notation#:~:text=Infix%20notation%20is%20the%20notation,plus%20sign%20in%202%20%2B%202),但不幸的是我仍然无法在我的代码中使用这种表示法。
谁能告诉我,我该如何使用它?
在跳到代码之前,让我们看一下它的使用规则(来自文档:https://kotlinlang.org/docs/functions.html#infix-notation):
- Infix 符号必须与成员函数或扩展函数一起使用
- 它们必须有一个参数
- 该参数不能接受可变数量的参数并且不能有默认值。
牢记这些要点,您可以实现以下目标:
fun Int.add(x: Int) = this.plus(x) //This is a simple Extension function without infix notation
infix fun Int.subtract(x: Int) = this.minus(x) //Added infix notation here
fun main() {
val sum = 10.add(20)
println(sum) //prints 30
val sub = 100 subtract 30 //Notice that there is no dot(.) and parenthesis
println(sub) //prints 70
}
这就是我们如何使用 infix 符号并去掉点 (.) 和圆括号,它们的工作方式相同。
这 提高了代码的可读性。
我已经阅读了 Kotlin 文档以及维基百科链接 (https://en.wikipedia.org/wiki/Infix_notation#:~:text=Infix%20notation%20is%20the%20notation,plus%20sign%20in%202%20%2B%202),但不幸的是我仍然无法在我的代码中使用这种表示法。
谁能告诉我,我该如何使用它?
在跳到代码之前,让我们看一下它的使用规则(来自文档:https://kotlinlang.org/docs/functions.html#infix-notation):
- Infix 符号必须与成员函数或扩展函数一起使用
- 它们必须有一个参数
- 该参数不能接受可变数量的参数并且不能有默认值。
牢记这些要点,您可以实现以下目标:
fun Int.add(x: Int) = this.plus(x) //This is a simple Extension function without infix notation
infix fun Int.subtract(x: Int) = this.minus(x) //Added infix notation here
fun main() {
val sum = 10.add(20)
println(sum) //prints 30
val sub = 100 subtract 30 //Notice that there is no dot(.) and parenthesis
println(sub) //prints 70
}
这就是我们如何使用 infix 符号并去掉点 (.) 和圆括号,它们的工作方式相同。 这 提高了代码的可读性。