Formattare il testo con std.fmt
Costruire stringhe con specificatori di formato
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}); // ffLarghezza 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. 🎨
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
- Le stringhe sono []const u8
- Letterali stringa ed escape
- Confrontare e cercare byte
- Formattare il testo con std.fmt