Zig Academy · Lezione

Parametri e valori comptime

Passare valori esistenti a compile time

Lezione 2 di 413 passaggi

Parametri e valori comptime è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 2 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.

Alcuni argomenti devono essere noti in anticipo

A volte una funzione richiede un argomento che il compilatore possa vedere, non solo il programma in esecuzione. Zig permette di contrassegnare tale parametro come comptime. 🧩

Contrassegnare un parametro comptime

Si scrive comptime prima del nome del parametro per richiedere che il suo valore sia noto durante il compile-time. Chi effettua la chiamata deve passare un valore noto.

fn repeat(comptime n: usize) void {}

Il chiamante fornisce un valore noto

Un parametro comptime accetta solo valori già noti al compilatore, come letterali o altre costanti di compile-time.

repeat(3);

I valori di run-time vengono rifiutati

Se si passa a un parametro comptime un valore noto solo a run-time, Zig segnala un chiaro errore di compilazione.

comptime all'interno del corpo

È possibile forzare anche un'espressione locale a essere valutata in anticipo. Un blocco comptime viene eseguito durante la compilazione e produce una costante.

const table = comptime buildTable();

comptime var per lo stato di compile-time

Una comptime var è una variabile modificabile che esiste solo durante la compilazione. La si usa per accumulare un valore mentre viene eseguito il codice di compile-time.

comptime var sum = 0;

I valori noti specializzano le funzioni

Poiché un argomento comptime è fisso, Zig può generare una versione personalizzata della funzione per quel valore preciso.

Combinare parametri comptime e normali

Una funzione può accettare entrambi i tipi contemporaneamente: un parametro comptime per la parte nota e parametri normali per i dati di run-time.

fn scale(comptime factor: u8, x: u32) u32 {
    return x * factor;
}

Convalidare gli argomenti in anticipo

Poiché il valore è noto, lo si può controllare durante la compilazione e interrompere la build se è errato, prima ancora che il programma venga eseguito. ✅

Nessun costo di run-time

Il lavoro guidato da un parametro comptime viene svolto durante la build. Il binario risultante contiene già la risposta e non resta nulla da calcolare.

All'interno, il parametro è una costante

All'interno del corpo della funzione, un parametro comptime si comporta come una costante fissa, quindi può essere usato nelle dimensioni degli array e in altri contesti di compile-time.

fn buffer(comptime n: usize) [n]u8 {
    return undefined;
}

Verifica rapida

Una funzione dichiara un parametro come comptime n: usize. Che tipo di valore deve passare il chiamante?

Riepilogo

Si contrassegna un parametro come comptime per richiedere un valore di compile-time. Zig può così convalidarlo e specializzare la funzione senza costi di run-time. 🎯

Gratis per iniziare

Impara Zig con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Parametri e valori comptime» è gratuita?

Sì — il testo completo di «Parametri e valori comptime» è 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 «Parametri e valori comptime»?

Passare valori esistenti a compile time 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 2 di 4.

Quanto tempo richiede la lezione «Parametri e valori comptime»?

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. Compile time e runtime a confronto
  2. Parametri e valori comptime
  3. I tipi sono valori comptime
  4. inline for e cicli srotolati
← Torna a Zig Academy