Introduzione agli optional: ?, nil, if let, guard let, ??
Scopra gli optional: come dichiararli con ?, rappresentare i valori mancanti con nil e scartarli tramite if let, guard let e ??.
Introduzione agli optional: ?, nil, if let, guard let, ?? è 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.
Che cos'è un optional?
Gli optional rappresentano un valore che può essere presente oppure nil. Aggiunga ? a un tipo per renderlo optional.
- Gestisca esplicitamente l'assenza
- Eviti molti arresti anomali
Binding con if let
Dichiari il tipo con ?, quindi utilizzi if let per eseguire l'unwrapping in sicurezza quando il valore è presente.
var nickname: String? = nil
print("nickname =", String(describing: nickname))
// Optional binding with if let
let input: String? = "Ada"
if let name = input {
print("Hello, \\(name)")
} else {
print("No name")
}guard let
guard let esegue l'unwrapping e termina in anticipo quando trova nil, mantenendo il codice piatto e leggibile.
func greet(_ maybeName: String?) {
guard let name = maybeName else {
print("Missing name"); return
}
print("Hi, \\(name)!")
}
greet(nil)
greet("Grace")Coalescenza di nil (??)
Utilizzi ?? per fornire un valore predefinito quando l'optional è nil.
let provided: String? = nil
let username = provided ?? "Guest"
print("Username:", username)Optional chaining
L'optional chaining (?.) interrompe la catena quando uno qualsiasi dei suoi elementi è nil.
struct Profile { var city: String? }
struct User { var profile: Profile? }
let u1 = User(profile: Profile(city: "Paris"))
let u2 = User(profile: nil)
// Optional chaining safely traverses missing links
print(u1.profile?.city?.uppercased() ?? "No city") // "PARIS"
print(u2.profile?.city ?? "No city") // "No city"Suggerimenti e insidie
Suggerimenti:
- Eviti
!(force unwrap), a meno che non sia sicuro al 100% che il valore non sia nil. - Preferisca if let o guard let per una maggiore chiarezza.
- Utilizzi ?? per fornire valori predefiniti sicuri.
Comportamento di guard let
Verifica rapida: che cosa fa guard let?
Riepilogo
Riepilogo: dichiari gli optional con ?, rappresenti l'assenza con nil, esegua l'unwrapping utilizzando if let o guard let e fornisca valori predefiniti con ??. Utilizzi l'optional chaining per attraversare la catena in sicurezza.
Domande Frequenti
La lezione «Introduzione agli optional: ?, nil, if let, guard let, ??» è gratuita?
Sì — il testo completo di «Introduzione agli optional: ?, nil, if let, guard let, ??» è 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 «Introduzione agli optional: ?, nil, if let, guard let, ??»?
Scopra gli optional: come dichiararli con ?, rappresentare i valori mancanti con nil e scartarli tramite if let, guard let e ??. 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 «Introduzione agli optional: ?, nil, if let, guard let, ??»?
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
- let vs var, inferenza dei tipi, valori letterali, tuple
- Tipi fondamentali: numeri, Bool, String, Character
- Introduzione agli optional: ?, nil, if let, guard let, ??