Étiquettes d'argument
Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 54 sur 86.
Swift vous donne le contrôle sur la façon dont les appels de fonction sont lus en utilisant des étiquettes d'argument. Une étiquette d'argument est ce que vous utilisez lors de l'appel de la fonction, tandis que le nom du paramètre est ce que vous utilisez à l'intérieur du corps de la fonction.
Vous pouvez spécifier les deux en écrivant l'étiquette d'argument avant le nom du paramètre :
func greet(to name: String) {
print("Hello, \(name)!")
}
greet(to: "Alice") // Sortie : Hello, Alice!Ici, to est l'étiquette d'argument (utilisée lors de l'appel), et name est le nom du paramètre (utilisé à l'intérieur de la fonction). Cela rend l'appel plus naturel à lire : « greet to Alice ».
Parfois, vous souhaitez omettre complètement l'étiquette pour des appels plus clairs. Utilisez un tiret bas (_) comme étiquette d'argument :
func square(_ number: Int) -> Int {
return number * number
}
print(square(5)) // Résultat: 25Sans l'underscore, vous devriez écrire square(number: 5). L'underscore supprime cette exigence, rendant l'appel plus simple lorsque le nom de la fonction rend déjà l'objectif clair.
Défi
FacileCréez deux fonctions qui démontrent différentes techniques d'étiquettes d'arguments :
Fonction 1 : send
- Utilisez l'étiquette d'argument
messageavec le nom de paramètretext(typeString) - Utilisez l'étiquette d'argument
toavec le nom de paramètrerecipient(typeString) - Retournez une chaîne de caractères au format :
"Sending '[text]' to [recipient]"
Fonction 2 : double
- Utilisez un tiret bas
_pour omettre l'étiquette d'argument - Nom de paramètre
number(typeInt) - Retournez le nombre multiplié par 2
Après avoir défini les deux fonctions, lisez deux chaînes de caractères et un entier à partir de l'entrée, puis appelez les deux fonctions et affichez les résultats sur des lignes séparées.
Vous recevrez les entrées suivantes :
- Première ligne : le texte du message (par exemple,
"Hello") - Deuxième ligne : le nom du destinataire (par exemple,
"Alice") - Troisième ligne : un nombre à doubler (par exemple,
"7")
Par exemple, si les entrées sont "Hello", "Alice", et "7", la sortie devrait être :
Sending 'Hello' to Alice
14Aide-mémoire
Swift vous permet de contrôler la façon dont les appels de fonction sont lus en utilisant des étiquettes d'argument. Une étiquette d'argument est utilisée lors de l'appel de la fonction, tandis que le nom du paramètre est utilisé à l'intérieur du corps de la fonction.
Spécifiez les deux en écrivant l'étiquette d'argument avant le nom du paramètre :
func greet(to name: String) {
print("Hello, \(name)!")
}
greet(to: "Alice") // Résultat : Hello, Alice!Ici, to est l'étiquette d'argument et name est le nom du paramètre.
Pour omettre l'étiquette d'argument pour des appels plus clairs, utilisez un tiret bas (_) :
func square(_ number: Int) -> Int {
return number * number
}
print(square(5)) // Résultat : 25Sans le tiret bas, vous devriez écrire square(number: 5).
Essayez vous-même
// Lire l'entrée
let messageText = readLine()!
let recipientName = readLine()!
let numberToDouble = Int(readLine()!)!
// TODO : Écrivez votre code ci-dessous
// Définir la fonction 'send' avec les étiquettes d'argument 'message' et 'to'
// Définir la fonction 'double' avec une étiquette d'argument omise en utilisant '_'
// Appeler les deux fonctions et afficher les résultatsCette 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 composéeRécapitulatif - Mathématiques simplesOpérateurs de comparaison7Entrées/Sorties de base
Fonction PrintInterpolation de chaînesSaisie ReadLineConversion de typesRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourÉtiquettes d'argumentRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut13Itération sur les séquences
Itérer sur les élémentsLa méthode d'énumérationItérer sur les chaînes P1Itérer sur les chaînes P22Variables
Let vs VarAnnotations de typeNombresStringsBooléensConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de facture
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz3Les Optionnels
Comprendre les optionnelsDéballage avec If LetL'instruction Guard LetOpérateur de fusion nilRécapitulatif - Déballage sécurisé6Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleL'instruction SwitchSwitch avec des intervalles9Boucles
Boucle For-InBoucle WhileBoucle Repeat-WhileBreakContinueRécapitulatif - FactorielleIntervalles dans les bouclesBoucles imbriquéesRécapitulatif - Entrée dynamique