0Pricing
Zig Academy · Lezione

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; // 3

Ideali 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

  1. Dichiarare struct e campi
  2. Metodi e parametro self
  3. Valori predefiniti dei campi
  4. Struct anonime e tuple
← Torna a Zig Academy