0Pricing
Zig Academy · Lección

Dar formato al texto con std.fmt

Construya cadenas con especificadores de formato.

Dar formato al texto con std.fmt es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 4 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.

Por qué dar formato

Los programas reales combinan valores con texto: nombres, cantidades y precios. Zig gestiona esto mediante std.fmt y su minilenguaje de cadenas de formato.

Marcadores entre llaves

Una cadena de formato usa {} como marcador. Cada par de llaves toma el siguiente argumento de la tupla que se pasa junto con ella.

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

Los argumentos van en una tupla

Proporcione los argumentos como una tupla anónima, escrita .{ a, b }. Incluso un único argumento se coloca dentro de ese envoltorio de tupla.

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

Especificador de string

Imprima un []const u8 como texto con {s}. Un {} sin especificador intentaría dar formato al slice como una estructura con un puntero y una longitud.

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

Bases numéricas

Controle la base de un entero con especificadores como {x} para hexadecimal, {b} para binario y {o} para octal. Es ideal para depuración de bajo nivel.

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

Anchura y relleno

Rellene un valor hasta una anchura fija usando dos puntos, como en {d:5}. Así los números quedan alineados en columnas limpias y legibles.

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

Precisión de números de punto flotante

Limite las posiciones decimales con un campo de precisión como {d:.2}. Esto imprime exactamente dos dígitos después del punto para obtener un resultado ordenado.

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

Escapar una llave

¿Necesita una llave literal en la salida? Duplíquela: {{ imprime una { y }} imprime una }. Así se evita confundirla con un marcador.

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

Crear un string

Para dar formato en memoria en lugar de en stdout, llame a std.fmt.allocPrint. Este asigna memoria y devuelve un []u8 nuevo que contiene el texto.

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

Liberar lo que asigne

Como allocPrint usa un asignador, usted es responsable del resultado y debe hacer free. Un defer justo después de la llamada mantiene limpia la liberación de recursos.

defer alloc.free(s);

Buffers fijos con bufPrint

Cuando no quiera usar el heap, escriba en su propio array con std.fmt.bufPrint. Devuelve el slice rellenado que realmente se utilizó.

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

Comprobación rápida

Está imprimiendo un valor []const u8 y quiere mostrarlo como texto legible.

Resumen

Dio formato al texto con std.fmt: marcadores {} y {s}, base, anchura y precisión, además de allocPrint y bufPrint para strings. 🎨

Preguntas frecuentes

¿La lección «Dar formato al texto con std.fmt» es gratis?

Sí — el texto completo de «Dar formato al texto con std.fmt» 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 «Dar formato al texto con std.fmt»?

Construya cadenas con especificadores de formato. 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 4 de 4.

¿Cuánto tiempo toma la lección «Dar formato al texto con std.fmt»?

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