0Pricing
Kotlin Academy · Leçon

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

  1. Qu’est-ce qu’une lambda ? Syntaxe et types
  2. Transmettre des lambdas à des fonctions
  3. it : le paramètre implicite
  4. filter, map et find sur les collections
← Retour à Kotlin Academy