Switch esaustivo sui valori
Copri tutti i casi oppure usa un ramo predefinito.
Switch esaustivo sui valori è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. 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 4 lezioni in totale.
Cosa fa switch
Uno switch confronta un valore con diversi casi ed esegue il primo che corrisponde. È un'alternativa chiara alle lunghe catene di if/else-if.
let day = 3
switch day {
case 1:
print("Monday")
case 2:
print("Tuesday")
case 3:
print("Wednesday")
default:
print("Other")
}Nessun fallthrough implicito
A differenza di C, in Swift i casi non eseguono automaticamente il fallthrough. Dopo l'esecuzione del caso corrispondente, lo switch termina. Non è necessario break.
let n = 1
switch n {
case 1:
print("one")
case 2:
print("two")
default:
print("many")
}Gli switch devono essere esaustivi
Uno switch deve coprire ogni possibile valore. Per un Int non è possibile elencarli tutti, quindi si fornisce un caso default.
let code = 500
switch code {
case 200:
print("OK")
case 404:
print("Not Found")
default:
print("Unhandled: \(code)")
}Il caso default
Il caso default intercetta tutto ciò che non è stato associato ai casi precedenti. Deve essere l'ultimo.
let grade = "X"
switch grade {
case "A":
print("Excellent")
case "B":
print("Good")
default:
print("Needs review")
}Switch sulle stringhe
Switch funziona con qualsiasi valore equatable, comprese le stringhe.
let command = "start"
switch command {
case "start":
print("Starting")
case "stop":
print("Stopping")
default:
print("Unknown command")
}Nessun caso vuoto
Ogni caso deve contenere almeno un'istruzione. Se desidera davvero che un caso non faccia nulla, scriva break.
let n = 2
switch n {
case 1:
print("one")
case 2:
break
default:
print("other")
}
print("done")Switch come istruzione
Uno switch esegue istruzioni; non restituisce direttamente un valore. Per produrre un valore, lo assegni all'interno di ogni caso oppure usi lo switch per chiamare funzioni.
let level = 2
var label: String
switch level {
case 1: label = "low"
case 2: label = "mid"
default: label = "high"
}
print(label)Switch su Bool
È possibile usare uno switch su un Bool con i casi true e false. Non serve un caso default perché entrambi i casi sono coperti.
let isReady = true
switch isReady {
case true:
print("Go")
case false:
print("Wait")
}Gli enum non richiedono default
Quando si gestiscono tutti i casi di un enum, lo switch è già esaustivo e un default non è necessario.
enum Direction { case north, south }
let d = Direction.north
switch d {
case .north: print("Up")
case .south: print("Down")
}Logica leggibile a più casi
Switch mantiene ordinate le decisioni a più vie. Ogni risultato ha il proprio caso con etichetta, facile da esaminare ed estendere.
let score = 72
var result: String
switch score {
case 90...100: result = "A"
case 80..<90: result = "B"
case 70..<80: result = "C"
default: result = "F"
}
print(result)Posizione di default
Il default deve essere il caso finale. Posizionarlo prima renderebbe irraggiungibili i casi successivi, cosa vietata da Swift.
let x = 7
switch x {
case 0:
print("zero")
case 7:
print("seven")
default:
print("something else")
}Controllo rapido
Metta alla prova uno switch esaustivo.
Riepilogo: switch esaustivo sui valori
Uno switch di Swift corrisponde al primo caso, non esegue mai un fallthrough implicito e deve essere esaustivo. Usi default per tipi aperti come Int o String; gli enum i cui casi sono tutti gestiti non richiedono default.
let n = 3
switch n {
case 1: print("a")
default: print("b")
}Domande Frequenti
La lezione «Switch esaustivo sui valori» è gratuita?
Sì — il testo completo di «Switch esaustivo sui valori» è 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 4 lezioni in totale.
Cosa imparerò in «Switch esaustivo sui valori»?
Copri tutti i casi oppure usa un ramo predefinito. 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 1 di 4.
Quanto tempo richiede la lezione «Switch esaustivo sui valori»?
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
- Switch esaustivo sui valori
- Confronto di intervalli e tuple
- Binding dei valori e clausole where
- Casi composti e fallthrough