Qu’est-ce qu’une lambda ? Syntaxe et types
Comprenez les expressions lambda : syntaxe, types de paramètres et valeurs de retour.
Qu’est-ce qu’une lambda ? Syntaxe et types est une leçon Kotlin Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Academy comprend 4 leçons au total.
Les lambdas en une phrase
Une lambda est une fonction anonyme, c’est-à-dire une valeur fonctionnelle que vous pouvez stocker dans une variable, transmettre à une autre fonction ou renvoyer.
Syntaxe de base d’une lambda
Une lambda s’écrit entre accolades : les paramètres se trouvent à gauche de -> et le corps à droite.
fun main() {
val greet = { name: String -> "Hello, $name!" }
println(greet("World"))
}Lambda sans paramètres
Omettez entièrement les paramètres lorsqu’il n’y en a aucun. La dernière expression constitue la valeur de retour.
fun main() {
val random = { (1..6).random() }
println(random()) // some number 1..6
}Lambda à plusieurs paramètres
Séparez les paramètres par des virgules. Indiquez leurs types ou laissez l’inférence les déduire du contexte.
fun main() {
val sum = { a: Int, b: Int -> a + b }
println(sum(3, 4)) // 7
}Inférer les types d’une lambda
Lorsque la lambda est attribuée à une variable typée, les types des paramètres peuvent être omis.
fun main() {
val multiply: (Int, Int) -> Int = { a, b -> a * b }
println(multiply(6, 7)) // 42
}Annotations de type des lambdas
Le type (Int, Int) -> Int décrit une fonction qui reçoit deux Int et renvoie un Int. C’est ainsi que les lambdas sont typées.
fun main() {
val op: (Int) -> Int = { x -> x * x }
println(op(5)) // 25
}Lambda renvoyant Unit
Si la lambda n’a aucune valeur de retour utile, son type est () -> Unit. Unit est l’équivalent de void en Kotlin.
fun main() {
val log: (String) -> Unit = { msg -> println("[LOG] $msg") }
log("Hello")
log("World")
}Stocker des lambdas dans une liste
Les lambdas sont des valeurs : vous pouvez les regrouper et les appeler plus tard.
fun main() {
val operations: List<(Int) -> Int> = listOf({ it + 1 }, { it * 2 }, { it - 3 })
for (op in operations) println(op(10))
// 11, 20, 7
}Renvoyer une lambda
Une fonction peut renvoyer une lambda qui capture son environnement dans une fermeture.
fun makeAdder(n: Int): (Int) -> Int = { x -> x + n }
fun main() {
val add5 = makeAdder(5)
println(add5(10)) // 15
println(add5(20)) // 25
}Lambdas capturant des variables
Les lambdas peuvent lire les variables de leur portée englobante et, dans le cas de var, les modifier.
fun main() {
var counter = 0
val increment = { counter++ }
increment(); increment(); increment()
println(counter) // 3
}Lambdas et fonctions anonymes
Kotlin propose également des fonctions anonymes de type fun(x: Int): Int = x * 2. Elles se comportent comme des lambdas, mais prennent en charge les types de retour explicites et les return étiquetés.
fun main() {
val square = fun(x: Int): Int { return x * x }
println(square(8)) // 64
}Vérification rapide
Que décrit le type (Int) -> String ?
Récapitulatif
Une lambda est une fonction anonyme écrite sous la forme { params -> body }. Son type est (ParamTypes) -> ReturnType. Les lambdas peuvent être stockées, transmises, renvoyées et capturer des variables de leur portée englobante.
Questions Fréquemment Posées
La leçon « Qu’est-ce qu’une lambda ? Syntaxe et types » est-elle gratuite ?
Oui — le texte complet de « Qu’est-ce qu’une lambda ? Syntaxe et types » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Academy, passe à CoddyKit PRO. Le cours Kotlin Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Qu’est-ce qu’une lambda ? Syntaxe et types » ?
Comprenez les expressions lambda : syntaxe, types de paramètres et valeurs de retour. Tu pratiques Kotlin Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Kotlin Academy ?
Aucune expérience préalable n'est requise. Kotlin Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Qu’est-ce qu’une lambda ? Syntaxe et types » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Kotlin Academy ?
Oui. Chaque leçon Kotlin Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Qu’est-ce qu’une lambda ? Syntaxe et types
- Transmettre des lambdas à des fonctions
- it : le paramètre implicite
- filter, map et find sur les collections