Explique le concept de l'expression 'when' dans le langage de programmation Kotlin.
sobes.tech IA
Réponse de l'IA
when en Kotlin est un opérateur structurel universel qui remplace le classique switch dans d'autres langages. Il peut être utilisé comme une expression (renvoyant une valeur) ou comme un opérateur.
Fonctionnalités principales:
-
Comparaison de valeurs: Correspondance avec des valeurs spécifiques.
fun describe(obj: Any): String = when (obj) { 1 -> "Un" "Hello" -> "Salutation" is Long -> "Long" !is String -> "Pas une chaîne" else -> "Inconnu" } -
Vérification du type (
is/!is): Correspondance avec des types de données. -
Vérification d'appartenance (
in/!in): Vérification de l'inclusion dans une plage ou une collection.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Nombre positif dans la plage" !in 10..20 -> "Pas dans la deuxième plage" else -> "Aucun des deux" } -
Sans argument: Utilisé comme une substitution plus flexible de la chaîne
if-else if-else. Les conditions sont évaluées en séquence.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Les deux vrais" !x && !y -> "Les deux faux" else -> "Mixte" } -
Retour de valeur: Si
whenest utilisé comme une expression, il doit être exhaustif (couvrir tous les cas possibles ou avoir une brancheelse).
when améliore la lisibilité et la sécurité du code par rapport au traditionnel switch.