Menu
Coddy logo textTech

Comprendre les optionnels

Fait partie de la section Fondamentaux du Journey Swift de Coddy. Leçon 11 sur 86.

Parfois, une variable peut ne pas avoir de valeur du tout. En Swift, nous représentons l'absence de valeur en utilisant des optionals. Un optional indique "il y a une valeur, et elle est égale à x" ou "il n'y a pas de valeur du tout."

Pour déclarer un optional, ajoutez un point d'interrogation ? après le type :

var nickname: String? = "Alex"
var age: Int? = nil

Dans l'exemple ci-dessus, nickname contient la valeur "Alex", tandis que age contient nil — la façon pour Swift de dire « aucune valeur ». Les variables ordinaires ne peuvent pas être nil, mais les optionnels le peuvent.

Pensez à un `optional` comme à une boîte qui peut contenir quelque chose ou être vide. Avant d'utiliser ce qu'elle contient, vous devez vérifier s'il y a vraiment quelque chose à l'intérieur. C'est une fonctionnalité de sécurité clé dans Swift qui permet d'éviter les plantages dus à des valeurs manquantes inattendues.

var score: Int? = 100
print(score) // Optional(100)

score = nil
print(score) // nil

Remarquez que lorsque vous imprimez un optional avec une valeur, cela affiche Optional(100) plutôt que juste 100. Pour accéder à la valeur réelle située à l'intérieur, vous devez déballer (unwrap) l'optional — ce que nous aborderons dans les prochaines leçons.

challenge icon

Défi

Facile

Écrivez une fonction createOptional qui prend un nombre et renvoie une chaîne indiquant à quoi ressemblerait ce nombre s'il était affiché sous forme d'optionnel.

Important : cette fonction renvoie une String. Vous écrivez du texte qui ressemble à un optionnel, vous ne renvoyez pas une véritable valeur optionnelle.

Lorsque vous affichez un optionnel qui contient une valeur, Swift l'affiche au format Optional(value).

Rappel sur la syntaxe des fonctions : En Swift, une fonction qui renvoie une valeur utilise la flèche -> pour spécifier le type de retour, et le mot-clé return pour renvoyer le résultat. Par exemple :

func myFunction(param: Int) -> String {<br>    return "result"<br>}

Vous pouvez construire la chaîne de retour en utilisant l'interpolation de chaîne : "Optional(\(value))" — la partie \(value) insère le nombre directement dans la chaîne.

Paramètres :

  • value (Int) : Le nombre à envelopper au format optionnel

Renvoie : Une chaîne au format Optional(value)value est le nombre fourni.

Exemple : Si l'entrée est 100, renvoyez "Optional(100)"

Essayez vous-même

func createOptional(value: Int) -> String {
    // Retourne une String qui ressemble à un optional, pas un vrai optional
    // Insère le nombre entre les parenthèses en utilisant l'interpolation de chaînes
    return "Optional()"
}
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 Swift