Zig Academy · Lezione

Formattare il testo con std.fmt

Costruire stringhe con specificatori di formato

Lezione 4 di 413 passaggi

Formattare il testo con std.fmt è 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.

Perché formattare

I programmi reali combinano valori e testo: nomi, quantità, prezzi. Zig gestisce questa operazione tramite std.fmt e il relativo mini-linguaggio delle stringhe di formato.

Segnaposto tra parentesi graffe

Una stringa di formato usa {} come segnaposto. Ogni coppia di parentesi graffe preleva l'argomento successivo dalla tupla passata insieme.

std.debug.print("x = {}\n", .{42});

Gli argomenti vanno in una tupla

Gli argomenti vengono forniti come una anonymous tuple, scritta .{ a, b }. Anche un singolo argomento si trova all'interno di questo involucro di tupla.

std.debug.print("{} {}\n", .{1, 2});

Specificatore per stringhe

Stampi un []const u8 come testo con {s}. Un semplice {} tenterebbe invece di formattare la slice come una struct composta da puntatore e lunghezza.

std.debug.print("{s}\n", .{"hi"});

Basi numeriche

Controlli la base di un intero con specificatori come {x} per l'esadecimale, {b} per il binario e {o} per l'ottale. Sono ottimi per il debug a basso livello.

std.debug.print("{x}\n", .{255}); // ff

Larghezza e riempimento

Porti un valore a una larghezza fissa usando i due punti, come in {d:5}. In questo modo i numeri si allineano ordinatamente in colonne chiare e leggibili.

std.debug.print("{d:5}\n", .{7});

Precisione dei numeri in virgola mobile

Limiti le cifre decimali con un campo di precisione come {d:.2}. In questo modo vengono stampate esattamente due cifre dopo il punto, per un risultato ordinato.

std.debug.print("{d:.2}\n", .{3.14159});

Eseguire l'escape di una parentesi graffa

Le serve una parentesi graffa letterale nell'output? La raddoppi: {{ stampa una { e }} ne stampa una }. In questo modo evita confusione con i segnaposto.

std.debug.print("{{x}}\n", .{});

Creare una stringa

Per formattare in memoria invece che su stdout, chiami std.fmt.allocPrint. Alloca e restituisce un nuovo []u8 contenente il testo.

const s = try std.fmt.allocPrint(
    alloc, "id={}", .{id});

Liberare ciò che si alloca

Poiché allocPrint usa un allocator, il risultato è di sua proprietà e deve essere free. Un defer subito dopo la chiamata mantiene ordinata la pulizia.

defer alloc.free(s);

Buffer fissi con bufPrint

Quando non vuole usare affatto l'heap, scriva nel proprio array con std.fmt.bufPrint. Restituisce la slice compilata che ha effettivamente utilizzato.

var buf: [16]u8 = undefined;
const out = try std.fmt.bufPrint(&buf, "{}", .{9});

Verifica rapida

Sta stampando un valore []const u8 e vuole visualizzarlo come testo leggibile.

Riepilogo

Ha formattato il testo con std.fmt: segnaposto {} e {s}, base, larghezza e precisione, oltre ad allocPrint e bufPrint per le stringhe. 🎨

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 «Formattare il testo con std.fmt» è gratuita?

Sì — il testo completo di «Formattare il testo con std.fmt» è 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 «Formattare il testo con std.fmt»?

Costruire stringhe con specificatori di formato 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 «Formattare il testo con std.fmt»?

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. Le stringhe sono []const u8
  2. Letterali stringa ed escape
  3. Confrontare e cercare byte
  4. Formattare il testo con std.fmt
← Torna a Zig Academy