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 d’une valeur à l’aide des optionnels. Un optionnel indique « il y a une valeur, et elle est égale à x » ou « il n’y a aucune valeur du tout ».

Pour déclarer une valeur optionnelle, 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 : c’est la manière dont Swift indique « aucune valeur ». Les variables ordinaires ne peuvent pas être nil, mais les optionnels le peuvent.

Imagine un optional comme une boîte qui peut contenir quelque chose ou être vide. Avant d’utiliser ce qu’elle contient, tu dois vérifier qu’il y a réellement quelque chose à l’intérieur. Il s’agit d’une fonctionnalité de sécurité essentielle de Swift qui aide à éviter les plantages dus à des valeurs manquantes inattendues.

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

score = nil
print(score) // nil

Remarque que lorsque tu affiches un optional avec une valeur, il affiche Optional(100) plutôt que simplement 100. Pour accéder à la valeur réelle qu’il contient, tu dois déballer 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 ce nombre ressemblerait lorsqu’il est affiché comme une valeur optionnelle.

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

Lorsque vous affichez une valeur optionnelle 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, ainsi que 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 à l’aide de l’interpolation de chaîne : "Optional(\(value))" : la partie \(value) insère directement le nombre dans la chaîne.

Paramètres :

  • value (Int) : le nombre à entourer 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