Kotlin Higher Order Functions
Part 1
1 min readAug 14, 2020
Just snippets
Extension function:
fun String.toPrefixDollar(): String {
return "$$this"
}
Usage:
val amount = "100".toPrefixDollar()
println(amount)
Functions:
F1
fun doSomething(block: () -> Unit) {
block()
}
Usage:
doSomething {
println("Hello, I am the block sent to lambda")
}// or
doSomething(::block)fun block() {
println("Hello, I am the block sent to lambda")
}
F2
fun doSomethingAndPrintResult(block: () -> Int) {
val result = block() * 2 // its provide multiple of 2
println(result)
}
Usage:
doSomethingAndPrintResult {
2
}
F3
fun doSomethingAndReturnResult(block: () -> Int) : Int {
val result = block() * 2 // its provide multiple of 2
return result
}
Usage:
val result = doSomethingAndReturnResult { 4 }
println(result)
F4
fun takeInSomethingAndPrintResult(squawk: Int, block: (code: Int) -> Int) {
val result = 2 * block(squawk)
println(result) // prints 15002
}
Usage:
takeInSomethingAndPrintResult(7500) { code ->
add(code)
}val add = { i: Int -> i + 1 }