Fácil Go

Convertendo idade para texto

Enunciado

Crie um programa que declare uma variável idade do tipo int com valor 25 e converta-a para string usando strconv.Itoa. Imprima a frase Tenho 25 anos usando fmt.Println com a string convertida.

Requisitos

  • Declarar idade como int.
  • Usar strconv.Itoa para converter para string.
  • Imprimir exatamente Tenho 25 anos.

Código inicial

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// declare idade e converta
}

Saída esperada

Tenho 25 anos
Ver dica

strconv.Itoa(idade) devolve uma string; concatene com + ou use fmt.Println com vírgulas.

Mostrar solução
package main

import (
	"fmt"
	"strconv"
)

func main() {
	var idade int = 25                 // tipo explícito
	texto := strconv.Itoa(idade)       // int -> string
	fmt.Println("Tenho " + texto + " anos")
}

Passo a passo

  1. Declaramos idade como int com valor 25 — o tipo fica claro para o compilador.
  2. strconv.Itoa(idade) converte o inteiro para sua representação decimal em string.
  3. Guardamos o resultado em texto, que é do tipo string.
  4. Concatenamos "Tenho ", texto e " anos" com o operador +.
  5. fmt.Println imprime a frase completa e adiciona a quebra de linha.

Por que funciona

Go não converte int em string automaticamente. Se você tentar "Tenho " + idade, o compilador acusa erro de tipos incompatíveis. strconv.Itoa é a função idiomática para essa conversão, produzindo o texto "25" em vez do caractere de código 25.

Erros comuns

  • Usar string(idade): isso gera o caractere cujo código Unicode é 25, não "25". Corrija com strconv.Itoa(idade).
  • Esquecer de importar strconv: o compilador reclama undefined: strconv.
  • Tentar fmt.Println("Tenho " + idade + " anos"): erro mismatched types string and int.

Outra forma de resolver

Usar fmt.Sprintf, que formata sem conversão explícita:

fmt.Println(fmt.Sprintf("Tenho %d anos", idade))

É preferível quando você já vai formatar vários valores na mesma string.

Saída esperada

Tenho 25 anos