Dichiarare tipi optional
Aggiungere ? per consentire l'assenza di un valore
Dichiarare tipi optional è una lezione Zig 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 Zig Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Zig Academy include 4 lezioni in totale.
A volte non c'è nulla
I programmi reali incontrano casi in cui un valore è semplicemente assente: una ricerca non trova risultati o un campo è vuoto. Zig gestisce questa assenza in modo sicuro e intenzionale.
Il tipo optional
Un tipo optional può contenere un valore reale di un certo tipo oppure il valore speciale null, che indica che non c'è nulla.
Aggiungere un punto interrogativo iniziale
Può rendere optional qualsiasi tipo scrivendo ? davanti. Quindi ?i32 è un intero che potrebbe anche essere null.
var age: ?i32 = null;Un valore trova il suo posto
Un optional può contenere tranquillamente anche un valore normale. Assegna 42 a un ?i32 esattamente come assegnerebbe un valore a un semplice i32.
var age: ?i32 = 42;null è lo stato vuoto
La parola chiave null è il valore letterale che indica l'assenza di un valore. Solo i tipi optional possono contenerlo.
const missing: ?u8 = null;I tipi non optional rifiutano null
Un semplice i32 non può mai essere null. Il compilatore glielo impedisce, così l'assenza rimane visibile nel tipo invece di nascondersi come valore non valido.
var n: i32 = null; // error: expected i32Rendere optional qualsiasi tipo
Gli optional non servono solo per i numeri. Può rendere optional un bool, una struct, una slice o qualsiasi altro tipo aggiungendo il punto interrogativo.
var found: ?bool = null;L'inferenza continua a funzionare
Assegni un valore optional e Zig inferisce automaticamente il tipo optional, quindi non deve sempre scriverlo esplicitamente.
const score: ?u32 = 10;Perché non usare un sentinel
In C si simula l'assenza con valori come -1 o un puntatore null. Zig offre un vero optional, così l'assenza non può essere confusa con i dati.
L'assenza fa parte del tipo
Poiché ? è parte del tipo stesso, chi legge il codice vede subito che un valore potrebbe mancare e deve essere gestito.
Impostare inizialmente null
È comune inizializzare un optional a null e valorizzarlo in seguito, quando si dispone effettivamente del valore da memorizzare.
var result: ?[]const u8 = null;Verifica rapida
Come dichiara un u32 che potrebbe mancare?
Riepilogo
Ha conosciuto gli optional: scriva ? davanti a un tipo per consentire un valore reale oppure null. Ora l'assenza vive nel tipo, in modo chiaro e visibile. ❓
Domande Frequenti
La lezione «Dichiarare tipi optional» è gratuita?
Sì — il testo completo di «Dichiarare tipi optional» è 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 Zig Academy, passa a CoddyKit PRO. Il corso Zig Academy include 4 lezioni in totale.
Cosa imparerò in «Dichiarare tipi optional»?
Aggiungere ? per consentire l'assenza di un valore Eserciti Zig 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 Zig Academy?
Non è richiesta alcuna esperienza precedente. Zig 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 «Dichiarare tipi optional»?
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 Zig Academy?
Sì. Ogni lezione Zig 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
- Dichiarare tipi optional
- Eseguire l'unwrap in sicurezza con if e orelse
- Puntatori optional e ?*T
- null e undefined a confronto