val constVal1: () -> Int = { 4 }
val constVal2: () -> Int = { 6 }
fun constFunc(): Int = 8
val constVal3: () -> Int = ::constFunc
// Higher-order function as a parameter
fun funcNoArg3(i: Int, func: () -> Int): Int = i * func.invoke()
Function Call | Return Value | |||
---|---|---|---|---|
funcNoArg3(5, constVal1) | → | |||
funcNoArg3(10, constVal2) | → | |||
funcNoArg3(6, ::constFunc) | → | |||
funcNoArg3(20, constVal3) | → |
Experiment with this code on Gitpod.io or as a Kotlin Playground