Este tipo de función es anónima (sin nombre) que se puede tratar como un valor: se puede pasar como argumento a otras funciones, devolver desde ellas o guardar en otras variables.
private fun calculadora(n1: Int, n2: Int, fn: (Int, Int)->Int): Int {
return fn(n1, n2)
}
var funcion = { x: Int, y: Int -> x + y }
println("La suma de 8 y 2 es: " + calculadora(8, 2, funcion))
println("La potencia de 2 elevado a 5 con lambda es: " +
calculadora(2, 5,
{ x, y ->
var valor = 1
for (i in 1..y) valor += x
valor // Al final se tiene que indicar el valor
}
))