kotlin extension function
fun Int.increment(): Int {
return this+1
}
fun Boolean.invert(): Boolean {
return xor(true) // a xor true = !a, by the conditional inversion property of xor.
}
To declare an extension function, prefix its name with a receiver
type, which refers to the type being extended. The following adds a
swap function to MutableList<Int>:
fun MutableList<Int>.swap(index1: Int, index2: Int) {
val tmp = this[index1] // 'this' corresponds to the list
this[index1] = this[index2]
this[index2] = tmp
}
extension function kotlin
Kotlin provides the ability to extend a class with new functionality without
having to inherit from the class or use design patterns such as Decorator.
This is done via special declarations called extensions.
fun MutableList<Int>.swap(index1: Int, index2: Int) {
val tmp = this[index1] // 'this' corresponds to the list
this[index1] = this[index2]
this[index2] = tmp
}