Pattern di iterazione e mutabilità
Apprenda i pattern comuni di iterazione su array/dizionari/set, utilizzi gli indici e enumerated() e comprenda la mutabilità con let e var (basi del copy-on-write).
Pattern di iterazione e mutabilità è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 3 lezioni in totale.
Perché iterazione e mutabilità?
Obiettivo: iterare sulle collezioni in modo sicuro e chiaro e sapere quando sono modificabili. Verranno trattati array, dizionari, Set, indici e enumerated(), oltre a let vs var.
for-in (Array)
for-in scorre direttamente gli elementi; è semplice e chiaro per gli array.
let nums = [10, 20, 30]
for n in nums {
print("value:", n)
}enumerated()
Usi enumerated() per ottenere coppie (index, value) durante l'iterazione.
let letters = ["a","b","c"]
for (i, ch) in letters.enumerated() {
print(i, ch) // 0 a, 1 b, 2 c
}Dizionario e Set
I dizionari restituiscono coppie (key, value). I Set non sono ordinati: usi sorted() per ottenere un output stabile.
let ages = ["Ada": 20, "Bob": 25]
for (name, age) in ages {
print(name, age)
}
let colors: Set<String> = ["red", "green", "blue"]
for c in colors.sorted() { // sort for stable order
print(c)
}Indici e slice
Usi startIndex, endIndex e index(after:) per l'accesso basato sugli indici. Le slice sono viste di tipo ArraySlice.
let arr = [5,6,7,8]
var i = arr.startIndex
while i < arr.endIndex {
print("arr[", i, "] =", arr[i])
i = arr.index(after: i)
}
let slice = arr[1...2] // ArraySlice
print("slice", slice)Mutabilità e COW
Mutabilità: dichiari con var ciò che vuoi modificare. Le collezioni usano il copy-on-write: le copie sono economiche finché non vengono modificate.
let fixed = [1,2,3]
// fixed.append(4) // error: cannot use mutating member on immutable value
var bag = [1,2,3]
bag.append(4) // ok
var bagCopy = bag // COW: cheap copy until either changes
bagCopy[0] = 9
print("bag", bag, "copy", bagCopy)Regola della mutabilità
Verifica rapida: quale dichiarazione consente di modificare una collezione?
Riepilogo
Riepilogo: preferisca for-in basato sugli elementi, usi enumerated() per ottenere indice e valore, ordini i Set quando serve un ordine, si sposti usando gli indici di String/Array e modifichi le collezioni solo con var, tenendo conto del COW.
Domande Frequenti
La lezione «Pattern di iterazione e mutabilità» è gratuita?
Sì — il testo completo di «Pattern di iterazione e mutabilità» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 3 lezioni in totale.
Cosa imparerò in «Pattern di iterazione e mutabilità»?
Apprenda i pattern comuni di iterazione su array/dizionari/set, utilizzi gli indici e enumerated() e comprenda la mutabilità con let e var (basi del copy-on-write). Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Swift Academy?
Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.
Quanto tempo richiede la lezione «Pattern di iterazione e mutabilità»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Swift Academy?
Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Array, dizionari e set
- Set — appartenenza e operazioni
- Pattern di iterazione e mutabilità