Arguments nommés
Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 58 sur 93.
Lorsque vous appelez une fonction avec plusieurs paramètres, vous transmettez normalement les arguments exactement dans l’ordre où ils sont définis. Mais Kotlin offre une alternative plus claire : les arguments nommés.
Avec les arguments nommés, vous indiquez à quel paramètre appartient chaque valeur en utilisant le nom du paramètre suivi de = :
fun createProfile(name: String, age: Int, city: String) {
println("$name, $age, from $city")
}
fun main() {
createProfile(name = "Alice", age = 25, city = "Paris")
}
// Sortie : Alice, 25, de ParisCela rend votre code plus lisible, en particulier lorsqu’une fonction possède plusieurs paramètres du même type. Comparez ces deux appels :
// Sans arguments nommés - que signifient ces nombres ?
calculateArea(10, 5, 3)
// Avec des arguments nommés - bien plus clair !
calculateArea(length = 10, width = 5, height = 3)Les arguments nommés vous permettent également de transmettre les valeurs dans l’ordre de votre choix :
fun greet(firstName: String, lastName: String) {
println("Hello, $firstName $lastName!")
}
fun main() {
greet(lastName = "Smith", firstName = "John")
}
// Sortie : Hello, John Smith!Vous pouvez mélanger des arguments positionnels et nommés, mais dès que vous utilisez un argument nommé, tous les arguments suivants doivent également être nommés pour éviter toute confusion.
Défi
MoyenLa fonction suivante vous est fournie :
fun formatBook(title: String, author: String, year: Int) {
println("\"$title\" by $author ($year)")
}Lisez trois entrées : un titre de livre (String), un nom d’auteur (String) et une année de publication (Int).
Appelez la fonction formatBook en utilisant des arguments nommés dans cet ordre précis : year, title, author.
Par exemple, si les entrées sont :
1984
George Orwell
1949La sortie doit être :
"1984" by George Orwell (1949)Essayez vous-même
fun formatBook(title: String, author: String, year: Int) {
println("\"$title\" by $author ($year)")
}
fun main() {
val title = readLine()!!
val author = readLine()!!
val year = readLine()!!.toInt()
// TODO: Appelez formatBook en utilisant des arguments nommés dans cet ordre : year, title, author
}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
4Opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloAffectation augmentéeOpérateurs de comparaisonRécapitulatif - Mathématiques simples7E/S de base
Fonction PrintlnModèles de chaînesEntrée ReadLineConversion de typeRécapitulatif - Années avant la retraiteRécapitulatif - Vrai ou faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourArguments nommésValeurs par défautFonctions à expression uniqueRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validation2Variables
Val ou VarInférence de typeNombresChaîne de caractèresBooléenConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Opérateurs logiques, partie 3Ternaire avec une expression ifRécapitulatif - Logique simple8Calculateur de partage d’addition
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Aperçu du jeuLa fonction FizzBuzz3Nullabilité
Qu’est-ce que la sécurité vis-à-vis de nullTypes nullableOpérateur d’appel sécuriséOpérateur ElvisBases des défis de fonctionsAssertion de non-nullitéRécapitulatif - Accès sécurisé6Prise de décision
Instruction IfIf - ElseIf comme expressionExpression WhenWhen avec des plagesRécapitulatif - Calculatrice simple9Boucles
Boucle ForBoucle WhileBoucle Do-WhileBreakContinuePlages dans les bouclesBoucle imbriquéeRécapitulatif - FactorielleRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Kotlin