Zig Academy · Lección

Las cadenas son []const u8

Por qué las cadenas de Zig son slices de bytes.

Lección 1 de 413 pasos

Las cadenas son []const u8 es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Zig Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Zig Academy incluye 4 lecciones en total.

No hay un tipo String

Zig no tiene un tipo de string específico. Un fragmento de texto es simplemente un slice de bytes, por lo que puede reutilizar las mismas herramientas que ya conoce para los arrays. 📦

Solo son bytes

Un string de Zig es del tipo []const u8: una ventana de solo lectura sobre una secuencia de bytes de 8 bits. Cada byte contiene un número del 0 al 255.

const greeting: []const u8 = "hello";

Por qué const

Los literales de string viven en memoria de solo lectura, por lo que su tipo es []const u8. const significa que puede leer los bytes, pero nunca escribir a través de este slice.

u8 es un byte

El tipo de elemento u8 es un entero sin signo de 8 bits. Tratar el texto como u8 hace que Zig sea claro: un string son bytes sin procesar, no caracteres mágicos.

Un slice tiene una longitud

Un slice contiene tanto un puntero como una longitud, por lo que el string conoce su propio tamaño. Nunca necesita una variable de longitud independiente ni un terminador.

const name = "Zig";
// name.len == 3

UTF-8 por convención

Los archivos de código fuente de Zig usan UTF-8, por lo que los literales almacenan el texto como bytes UTF-8. Un emoji o una letra acentuada pueden ocupar varios bytes, no uno solo.

La longitud cuenta bytes

Como el texto son bytes, .len devuelve la cantidad de bytes, no la cantidad de caracteres. En ASCII simple, ambos números coinciden exactamente.

const s = "abc";
std.debug.print("{}", .{s.len}); // 3

El índice devuelve un byte

Indexar un string devuelve un único valor de byte u8, no un objeto de carácter. En ASCII, ese byte es el código de la letra.

const s = "AB";
const first = s[0]; // 65, the A

No hace falta un terminador nulo

A diferencia de C, un slice de Zig no depende de un byte cero final para marcar su fin. La longitud almacenada ya indica al código dónde termina el texto.

Imprimir un string

Imprima texto con el especificador de formato {s}, que indica a Zig que debe mostrar los bytes como un string en lugar de como números.

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

Los bytes mutables necesitan [] u8

Quite const para obtener un slice []u8 en el que se pueda escribir. Entonces podrá cambiar los bytes en el mismo lugar, siempre que estén en una memoria que posea.

Comprobación rápida

Piense en el tipo real que hay detrás de un literal de string de Zig.

Resumen

Ha aprendido que el texto de Zig es simplemente []const u8: bytes de solo lectura con una longitud, UTF-8 por convención, indexados y medidos en bytes. 🎯

Gratis para empezar

Aprende Zig con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Las cadenas son []const u8» es gratis?

Sí — el texto completo de «Las cadenas son []const u8» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Zig Academy, actualiza a CoddyKit PRO. El curso de Zig Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Las cadenas son []const u8»?

Por qué las cadenas de Zig son slices de bytes. Practicas Zig Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Zig Academy?

No se requiere experiencia previa. Zig Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Las cadenas son []const u8»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Zig Academy?

Sí. Cada lección de Zig Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Las cadenas son []const u8
  2. Literales de cadena y escapes
  3. Comparar y buscar bytes
  4. Dar formato al texto con std.fmt
← Volver a Zig Academy