0Pricing
Swift Academy · Leçon

Types valeur et immutabilité

Découvrez comment let empêche la modification des types valeur.

Types valeur et immutabilité est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.

Les structures sont des types valeur

Dans Swift, struct et enum sont des types valeur. Affecter l’un d’eux à une nouvelle variable le copie.

struct Point { var x: Int; var y: Int }
var a = Point(x: 1, y: 2)
var copy = a
copy.x = 99
print(a.x, copy.x)

let verrouille toute la valeur

Déclarer une structure avec let rend toute la valeur immuable, y compris toutes ses propriétés.

struct Counter { var value: Int }
let c = Counter(value: 0)
// c.value = 5 // compile error
print(c.value)

var autorise la modification

Utilisez var lorsque vous prévoyez de modifier les propriétés d’une structure après sa création.

struct Counter { var value: Int }
var c = Counter(value: 0)
c.value = 5
print(c.value)

Copie lors de l’affectation

Chaque variable contient sa propre copie indépendante. Modifier l’une ne modifie jamais l’autre.

struct Box { var label: String }
var first = Box(label: "A")
var second = first
second.label = "B"
print(first.label, second.label)

Sémantique de valeur dans les fonctions

Transmettre une structure à une fonction revient à transmettre une copie. L’original situé en dehors de la fonction reste inchangé.

struct Score { var points: Int }
func bump(_ s: Score) {
    var local = s
    local.points += 10
}
var s = Score(points: 0)
bump(s)
print(s.points)

Propriétés immuables

Une propriété déclarée avec let dans une structure ne peut jamais changer, même dans une instance var.

struct User { let id: Int; var name: String }
var u = User(id: 1, name: "Ada")
u.name = "Bob"
// u.id = 2 // compile error
print(u.id, u.name)

Les tableaux sont aussi des types valeur

Les Array, Dictionary et Set de Swift sont des structures et sont donc copiés lors d’une affectation.

var a = [1, 2, 3]
var b = a
b.append(4)
print(a)
print(b)

Les chaînes sont des types valeur

String est également un type valeur. Modifier une copie ne modifie pas l’original.

var s1 = "hi"
var s2 = s1
s2 += " there"
print(s1)
print(s2)

Pourquoi les types valeur sont utiles

La sémantique de valeur évite les erreurs dues à un état partagé accidentellement. Vous pouvez raisonner localement sur une valeur sans vous demander qui d’autre détient une référence.

struct Config { var retries: Int }
let defaultConfig = Config(retries: 3)
var custom = defaultConfig
custom.retries = 5
print(defaultConfig.retries, custom.retries)

Immuabilité et sécurité

Marquer les valeurs avec let chaque fois que possible rend le code plus sûr et plus clair. Le compilateur garantit qu’elles ne changent jamais.

let limit = 100
let name = "stable"
print(limit, name)

Réaffecter une variable let échoue

Vous ne pouvez pas réaffecter une liaison let, ni modifier la valeur qu’elle contient.

let pi = 3.14
// pi = 3.15 // compile error
print(pi)

Vérification rapide

Testez le comportement des types valeur.

Récapitulatif

Les structures et les énumérations sont des types valeur : elles sont copiées lors d’une affectation et lorsqu’elles sont transmises à des fonctions. Une liaison let verrouille toute la valeur et une propriété let ne peut jamais changer. Cela fournit un état prévisible et isolé.

struct P { var n: Int }
var a = P(n: 1)
var b = a
b.n = 9
print(a.n, b.n)

Questions Fréquemment Posées

La leçon « Types valeur et immutabilité » est-elle gratuite ?

Oui — le texte complet de « Types valeur et immutabilité » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Types valeur et immutabilité » ?

Découvrez comment let empêche la modification des types valeur. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Swift Academy ?

Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Types valeur et immutabilité » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?

Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Types valeur et immutabilité
  2. Le mot-clé mutating
  3. Mutating et réaffectation de self
  4. Alternatives non mutantes
← Retour à Swift Academy