Le stringhe sono []const u8
Capire perché le stringhe di Zig sono slice di byte
Le stringhe sono []const u8 è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 1 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.
Nessun tipo stringa
Zig non ha un tipo stringa dedicato. Un testo è semplicemente una slice di byte, quindi può riutilizzare gli stessi strumenti che già conosce per gli array. 📦
Sono solo byte
Una string Zig è del tipo []const u8: una finestra di sola lettura su una sequenza di byte a 8 bit. Ogni byte contiene un numero da 0 a 255.
const greeting: []const u8 = "hello";Perché const
I valori letterali stringa risiedono in memoria di sola lettura, quindi il loro tipo è []const u8. const significa che è possibile leggere i byte, ma non scriverci mai attraverso questa slice.
u8 è un byte
Il tipo degli elementi u8 è un intero senza segno a 8 bit. Trattare il testo come u8 rende Zig coerente: una stringa è composta da byte grezzi, non da caratteri speciali.
Una slice ha una lunghezza
Una slice contiene sia un puntatore sia una length, quindi la stringa conosce la propria dimensione. Non serve mai una variabile separata per la lunghezza né un terminatore.
const name = "Zig";
// name.len == 3UTF-8 per convenzione
I file sorgente Zig sono in UTF-8, quindi i valori letterali memorizzano il testo come byte UTF-8. Un emoji o una lettera accentata può occupare diversi byte, non uno solo.
La lunghezza conta i byte
Poiché il testo è composto da byte, .len restituisce il numero di byte, non quello dei caratteri. Per il semplice ASCII i due numeri coincidono esattamente.
const s = "abc";
std.debug.print("{}", .{s.len}); // 3L'indice restituisce un byte
Indicizzare una stringa restituisce un singolo byte u8, non un oggetto carattere. Per l'ASCII, quel byte è il codice della lettera.
const s = "AB";
const first = s[0]; // 65, the ANon serve un terminatore nullo
A differenza del C, una slice Zig non si basa su un byte zero finale per indicare la fine. La lunghezza memorizzata indica già al codice dove termina il testo.
Stampare una stringa
Per stampare il testo si usa lo specificatore di formato {s}, che indica a Zig di visualizzare i byte come stringa anziché come numeri.
std.debug.print("{s}\n", .{"hello"});Per i byte mutabili serve [] u8
Rimuova const per ottenere una slice scrivibile []u8. Potrà così modificare i byte sul posto, purché risiedano in memoria di cui dispone.
Controllo rapido
Rifletta sul tipo reale che si trova dietro un valore letterale stringa Zig.
Riepilogo
Ha imparato che il testo in Zig è semplicemente []const u8: byte di sola lettura con una lunghezza, UTF-8 per convenzione, indicizzati e misurati in byte. 🎯
Domande Frequenti
La lezione «Le stringhe sono []const u8» è gratuita?
Sì — il testo completo di «Le stringhe sono []const u8» è 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 «Le stringhe sono []const u8»?
Capire perché le stringhe di Zig sono slice di byte 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 1 di 4.
Quanto tempo richiede la lezione «Le stringhe sono []const u8»?
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