Middle
Comment fonctionnent les expressions lambda dans le langage de programmation Kotlin?
sobes.tech IA
Réponse de l'IA
Les expressions lambda en Kotlin représentent des fonctions anonymes. Elles peuvent être passées en tant qu'arguments ou stockées dans des variables.
Points clés:
- Syntaxe: Accolades
{}. Les paramètres sont indiqués avant la flèche->, le corps de la fonction après. Si aucun paramètre, la flèche est facultative. - Nom implicite du paramètre
it: Si la lambda a un seul paramètre, il n'est pas nécessaire de le déclarer explicitement, il sera accessible sous le nomit. - Valeur de retour: La dernière expression dans le corps de la lambda est sa valeur de retour.
- Fermetures (Closures): Les lambdas peuvent accéder et modifier des variables de la portée dans laquelle elles ont été définies.
Exemples:
// Lambda sans paramètres
val hello = { println("Hello, world!") }
hello() // Appel de la lambda
// Lambda avec un paramètre (déclaration explicite)
val square = { number: Int -> number * number }
println(square(5))
// Lambda avec un paramètre (utilisation de 'it')
val increment = { it + 1 }
println(increment(10))
// Lambda avec plusieurs paramètres
val sum = { a: Int, b: Int -> a + b }
println(sum(2, 3))
// Lambda en tant qu'argument d'une fonction d'ordre supérieur
fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
return operation(a, b)
}
println(operate(4, 5, { x, y -> x * y })) // Passage d'une lambda
Comparaison avec des fonctions anonymes (plus de détails):
| Caractéristique | Expression lambda | Fonction anonyme |
|---|---|---|
| Syntaxe | {} |
fun (...) |
| Valeur de retour | La dernière expression | return explicite |
return interne |
Retourne de la fonction parente (retour non local) | Retourne de la fonction anonyme (retour local) |
Utilisation de it |
Oui (pour un paramètre) | Non |
Les lambdas sont largement utilisées en Kotlin, notamment avec les fonctions d'ordre supérieur (map, filter, forEach, etc.), pour créer un code concis et expressif. Le compilateur les optimise.