Menu
Coddy logo textTech

Valeurs par défaut

Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 59 sur 93.

Parfois, vous voulez qu’un paramètre de fonction ait une valeur de remplacement lorsque l’appelant n’en fournit pas. Kotlin vous permet d’attribuer des valeurs par défaut directement dans la définition du paramètre.

fun greet(name: String = "Guest") {
    println("Hello, $name!")
}

fun main() {
    greet("Alice")
    greet()
}
// Sortie :
// Hello, Alice!
// Hello, Guest!

Lors de l’appel de greet() sans argument, Kotlin utilise la valeur par défaut "Guest". Cela rend les fonctions plus flexibles : les appelants peuvent personnaliser le comportement lorsque cela est nécessaire ou s’appuyer sur des valeurs par défaut judicieuses.

Vous pouvez mélanger des paramètres avec et sans valeurs par défaut. Les paramètres avec des valeurs par défaut viennent généralement en dernier :

fun createUser(name: String, role: String = "member"): String {
    return "$name ($role)"
}

fun main() {
    println(createUser("Alice", "admin"))
    println(createUser("Bob"))
}
// Sortie :
// Alice (admin)
// Bob (member)

Les arguments nommés deviennent particulièrement utiles avec des valeurs par défaut. Ils vous permettent d’ignorer certains paramètres tout en en fournissant d’autres :

fun format(text: String, uppercase: Boolean = false, prefix: String = "") {
    val result = if (uppercase) text.uppercase() else text
    println("$prefix$result")
}

fun main() {
    format("hello", prefix = "-> ")
}
// Sortie : -> hello
challenge icon

Défi

Moyen

Implémentez buildGreeting(name: String, greeting: String = "Hello"): String. Retournez un message d’accueil sous la forme greeting, name!. Le pilote de test fourni appelle votre fonction deux fois : une fois avec uniquement le nom, et une fois avec un nom et un message d’accueil explicite. N’écrivez pas main et n’affichez rien dans la fonction. Le message d’accueil manquant doit utiliser la valeur par défaut "Hello".

Essayez vous-même

fun buildGreeting(name: String, greeting: String): String {
    // Ajoute la valeur par défaut au paramètre et retourne la salutation.
    TODO("Build the greeting")
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Playground Kotlin