Saída Formatada
Parte da seção Fundamentos do Journey de GO da Coddy — lição 29 de 109.
Vamos aprender como formatar nossa saída em Go usando a função fmt.Printf(). Esta função nos permite exibir valores em formatos específicos usando espaços reservados.
Primeiro, vamos criar um programa que formata diferentes tipos de dados usando espaços reservados:
name := "Gopher"
age := 5
height := 1.5
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)Após a execução deste código, o texto "Name: Gopher, Age: 5, Height: 1.5" será exibido na tela. Os espaços reservados em nossa string são substituídos pelos valores reais de nossas variáveis.
Vamos entender o que cada marcador faz:
// %s é substituído por um valor de string (name)
// %d é substituído por um valor inteiro (age)
// %.1f é substituído por um valor de ponto flutuante mostrando 1 casa decimal (height)
// %t é substituído por um valor booleano (true ou false)A função fmt.Printf() substitui cada marcador de posição pela variável correspondente que fornecemos após a string de formato. A ordem das variáveis deve corresponder à ordem dos marcadores de posição.
Agora vamos tentar outro exemplo com diferentes tipos de formatação:
pi := 3.14159
percentage := 0.75
letter := 'A'
fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)Após executar este código, o texto "Pi: 3.14, Percentage: 75.0%, Letter: A" aparecerá na tela. Observe como %.2f mostra apenas 2 casas decimais para pi, e multiplicamos a porcentagem por 100 para exibi-la como um valor percentual.
Observe também a sequência especial %% na string de formato — é assim que você imprime um caractere % literal com fmt.Printf(). Um único % seria tratado como o início de um placeholder, então %% é usado para escapá-lo e exibir o próprio sinal de porcentagem.
Desafio
FácilNeste desafio, você praticará o uso de saída formatada em Go com a função `fmt.Printf()`.
Você tem informações sobre um produto que precisam ser exibidas em um formato específico usando verbos de formatação. As variáveis já estão definidas para você.
Sua tarefa é usar `fmt.Printf()` com os verbos de formatação apropriados para exibir as informações do produto:
- Use `%s` para strings
- Use `%d` para inteiros
- Use `%.2f` para números de ponto flutuante com 2 casas decimais
- Use `%t` para valores booleanos
Exiba as informações do produto exatamente como mostrado na saída esperada.
Folha de consulta
Use fmt.Printf() para formatar a saída com espaços reservados (placeholders):
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)Verbos de formatação comuns:
%s- valor de string%d- valor inteiro%.1f- float com 1 casa decimal%.2f- float com 2 casas decimais%t- valor booleano%c- valor de caractere%%- sinal de porcentagem literal (%)
A ordem das variáveis deve corresponder à ordem dos espaços reservados na string de formatação.
Use \n no final da string de formatação para mudar para uma nova linha após a impressão.
Experimente você mesmo
package main
import "fmt"
func main() {
// Informações do produto
productName := "Wireless Headphones"
productPrice := 79.99
productInStock := true
productID := 12345
// TODO: Use fmt.Printf() com verbos de formatação para exibir as informações do produto:
// Product: Wireless Headphones (ID: 12345)
// Price: $79.99
// In Stock: true
//
// Dica: Use %s para strings, %d para inteiros, %.2f para floats, %t para booleanos
// Lembre-se de adicionar \n ao final de cada linha para a formatação adequada
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores de Comparação e Lógicos
Operadores de Comparação - Parte 1Operadores de Comparação - Parte 2Operador Lógico ANDOperador Lógico OROperador Lógico NOTFundamentos de Precedência de OperadoresRecapitulação - Fazendo Comparações7Fluxo de Controle: Loops
O Loop `for` ExplicadoLoop For - BásicoLoop For - Apenas CondiçãoA Palavra-chave `break`A Palavra-chave `continue`Loops AninhadosRecapitulação - Repetindo Ações2Variáveis e Tipos de Dados Básicos
O que é uma variávelInferência de Tipo com `:=`Inteiros (int)Números de Ponto FlutuanteBooleanosStringsValores ZeroConstantesConvenções de NomenclaturaRecapitulação - Variáveis e Tipos5Entrada/Saída Básica
Saída FormatadaVerbos de FormataçãoImprimindo TiposObtendo Entrada Básica do UsuárioRecapitulação - Entrada e Saída8Funções
Entendendo FunçõesDeclarando uma FunçãoChamando FunçõesParâmetros de FunçãoRetornando um Único ValorRetornando Múltiplos ValoresValores de Retorno NomeadosFundamentos de Escopo de FunçãoRecapitulação - Criando Código Reutilizável3Operadores Básicos
Operadores AritméticosOperador de DivisãoO Operador MóduloOperador de AtribuiçãoOperadores de Atribuição CompostaIncremento e DecrementoRecapitulação - Cálculos6Fluxo de Controle: Condicionais
A Instrução `if`A Palavra-chave `else`A Palavra-chave `else if`Sombreamento de Variáveis no `if`Inicializando VariáveisA Instrução `switch`Switch com ExpressõesSwitch sem ExpressãoA Palavra-chave `fallthrough`Recapitulação - Tomando Decisões