Formatando texto com std.fmt
Crie strings com especificadores de formato.
Formatando texto com std.fmt é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Zig Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Zig Academy inclui 4 aulas no total.
Por que formatar
Programas reais combinam valores com texto: nomes, contagens, preços. O Zig faz isso por meio de std.fmt e sua minilinguagem de strings de formato.
Marcadores entre chaves
Uma string de formato usa {} como marcador. Cada par de chaves extrai o próximo argumento da tupla que você passa junto.
std.debug.print("x = {}\n", .{42});Os argumentos vão em uma tupla
Você fornece os argumentos como uma tupla anônima, escrita .{ a, b }. Até mesmo um único argumento fica dentro desse contêiner de tupla.
std.debug.print("{} {}\n", .{1, 2});Especificador de string
Imprima um []const u8 como texto com {s}. Um {} simples tentaria formatar a fatia como uma estrutura formada por ponteiro e comprimento.
std.debug.print("{s}\n", .{"hi"});Bases numéricas
Controle a base de um inteiro com especificadores como {x} para hexadecimal, {b} para binário e {o} para octal. Ótimo para depuração de baixo nível.
std.debug.print("{x}\n", .{255}); // ffLargura e preenchimento
Preencha um valor até uma largura fixa usando dois-pontos, como em {d:5}. Isso alinha os números em colunas limpas e fáceis de ler.
std.debug.print("{d:5}\n", .{7});Precisão de ponto flutuante
Limite as casas decimais com um campo de precisão como {d:.2}. Isso imprime exatamente dois dígitos após o ponto, produzindo um resultado organizado.
std.debug.print("{d:.2}\n", .{3.14159});Escape de uma chave
Precisa de uma chave curva literal na saída? Duplique-a: {{ imprime uma { e }} imprime uma }. Isso evita confusão com marcadores de posição.
std.debug.print("{{x}}\n", .{});Criar uma string
Para formatar na memória em vez de usar a saída padrão, chame std.fmt.allocPrint. Ele aloca e retorna um []u8 novo contendo seu texto.
const s = try std.fmt.allocPrint(
alloc, "id={}", .{id});Liberar o que você aloca
Como allocPrint usa um alocador, o resultado pertence a você e deve ser liberado com free. Um defer logo após a chamada mantém a limpeza organizada.
defer alloc.free(s);Buffers fixos com bufPrint
Quando você não quiser usar a memória dinâmica, escreva no seu próprio vetor com std.fmt.bufPrint. Ele retorna a fatia preenchida que realmente foi usada.
var buf: [16]u8 = undefined;
const out = try std.fmt.bufPrint(&buf, "{}", .{9});Verificação rápida
Você está imprimindo um valor []const u8 e quer que ele seja exibido como texto legível.
Recapitulação
Você formatou texto com std.fmt: marcadores {} e {s}, base, largura e precisão, além de allocPrint e bufPrint para strings. 🎨
Perguntas Frequentes
A aula “Formatando texto com std.fmt” é grátis?
Sim — o texto completo de “Formatando texto com std.fmt” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Zig Academy, atualize para CoddyKit PRO. O curso de Zig Academy inclui 4 aulas no total.
O que vou aprender em “Formatando texto com std.fmt”?
Crie strings com especificadores de formato. Você pratica Zig Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Zig Academy?
Nenhuma experiência prévia é necessária. Zig Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Formatando texto com std.fmt”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Zig Academy?
Sim. Cada aula de Zig Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Strings são []const u8
- Literais de string e sequências de escape
- Comparando e pesquisando bytes
- Formatando texto com std.fmt