0Pricing
Zig Academy · Aula

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}); // ff

Largura 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

  1. Strings são []const u8
  2. Literais de string e sequências de escape
  3. Comparando e pesquisando bytes
  4. Formatando texto com std.fmt
← Voltar para Zig Academy