Struct anonime e tuple
Creare valori raggruppati al volo
Struct anonime e tuple è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 4 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 serve una sola volta
Non ogni raggruppamento merita un tipo con nome. Zig consente di scrivere una struct anonima inline, proprio nel punto in cui la si usa.
Basta omettere il nome
Un literal di struct anonima inizia con .{ ed elenca i campi per nome, senza scrivere prima alcun tipo.
const p = .{ .x = 1, .y = 2 };Usare normalmente i campi
Si leggono i campi nello stesso modo di una struct con nome, usando un punto. Qui p.x è 1 e p.y è 2.
const sum = p.x + p.y;Convertire in un tipo con nome
Un literal anonimo può essere sottoposto a coerce in una struct con nome quando il tipo di destinazione è noto, ad esempio per un valore restituito.
fn make() Point {
return .{ .x = 0, .y = 0 };
}Le tuple non hanno nomi di campo
Omettendo i nomi dei campi si ottiene una tuple: una struct anonima i cui campi sono accessibili per posizione.
const pair = .{ 1, 2 };Indicizzare una tuple
Si accede a un campo della tuple tramite un numero, scritto come un nome di campo. Quindi pair[0] è 1 e pair[1] è 2.
const first = pair[0];I tipi misti sono consentiti
I campi di una tuple possono avere ciascuno un tipo diverso. Un solo literal può contenere contemporaneamente un int, un bool e una stringa.
const row = .{ 42, true, "hi" };Le tuple hanno una lunghezza
Una tuple è comunque una struct, quindi ha un len noto a compile time, leggibile con tuple.len.
const n = row.len; // 3Ideali per gli argomenti di print
std.debug.print accetta una tuple di valori da formattare. Quel .{} che passa è una tuple anonima.
std.debug.print("{} {}\n", .{ 1, 2 });Iterare su una tuple
Poiché la lunghezza è nota a compile time, può attraversare i campi di una tuple con un ciclo inline for.
inline for (row) |field| {
_ = field;
}Con nome o posizionale
Scelga una struct anonima quando i nomi aggiungono chiarezza, e una tuple quando basta un breve raggruppamento ordinato.
Verifica rapida
Qual è la differenza tra una tuple e una struct anonima con nome?
Riepilogo
Ha incontrato le struct anonime e le tuple: .{ .x = 1 } è inline e con campi nominati, mentre .{ 1, 2 } è una tuple posizionale. 📦
Domande Frequenti
La lezione «Struct anonime e tuple» è gratuita?
Sì — il testo completo di «Struct anonime e tuple» è 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 «Struct anonime e tuple»?
Creare valori raggruppati al volo 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 4 di 4.
Quanto tempo richiede la lezione «Struct anonime e tuple»?
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 struct e campi
- Metodi e parametro self
- Valori predefiniti dei campi
- Struct anonime e tuple