Kotlin: funzioni di ordine elevato

Le funzioni in Kotlin sono first class il che si traduce nel fatto che possono essere memorizzate in variabili e strutture dati, nonché passate come argomento o restituite come valore di ritorno di altre funzioni dette funzioni di ordine elevato. Nella definizione dei parametri in ingresso o di ritorno è necessario utilizzare la notazione (A, B) -> C dove A e B sono i parametri in ingresso e C il valore di ritorno della funzione. Se il tipo di ritorno è Unit può essere omesso. La funzione passata come argomento può essere una funzione semplice, una lambda o una funzione anonima. Esempio di utilizzo è:

fun calculate(x: Int, y: Int, operation: (Int, Int) -> Int): Int {
    return operation(x, y)
}

fun sum(x: Int, y: Int) = x + y

fun main() {
    val sumResult = calculate(4, 5, ::sum)
    val mulResult = calculate(4, 5) { a, b -> a * b }
    println("sumResult $sumResult, mulResult $mulResult")
}

Dove nella prima chiamata alla funzione di ordine elevato calculate, viene passata la funzione semplice sum mentre nella seconda chiamata viene passata una funzione lambda che esegue la moltiplicazione tra due numeri. Per maggiori informazioni visitate https://kotlinlang.org/docs/lambdas.html

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.