Go Academy · Aula

Tipos integrados do Go

int, float64, string, bool e seus valores zero

Aula 2 de 413 etapas

Tipos integrados do Go é uma aula grátis de Go Academy no CoddyKit. Esta é a aula 2 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 Go Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Go Academy inclui 4 aulas no total.

Visão geral do sistema de tipos de Go

Go tem um conjunto abrangente de tipos integrados organizados em categorias:

  • Booleano: bool
  • Inteiro: int, int8, int16, int32, int64 e variantes sem sinal
  • Ponto flutuante: float32, float64
  • String: string
  • Complexo: complex64, complex128

Tipos inteiros

Go fornece tipos inteiros dependentes da plataforma e de tamanho fixo:

  • int / uint — tamanho dependente da plataforma (32 ou 64 bits)
  • int8…int64 — larguras fixas em bits
  • byte — alias de uint8
  • rune — alias de int32, representa um ponto de código Unicode

Use int para inteiros de uso geral, a menos que precise de uma largura específica.

float64 e float32

Os tipos de ponto flutuante seguem o padrão IEEE 754:

package main

func main() {
    var f32 float32 = 3.14
    var f64 float64 = 3.141592653589793
    ratio := f64 / 2.0  // float64 inferred
    _ = f32
    _ = ratio
}

Tipo string

As strings em Go são sequências imutáveis de bytes codificadas em UTF-8:

  • Entre aspas duplas: "Hello" — aceita sequências de escape
  • Entre crases: `raw string` — não processa escapes e pode ocupar várias linhas
  • len(s) retorna o número de bytes, não de caracteres
  • Itere pelos caracteres com range para obter valores rune

Tipo bool

O tipo bool tem dois valores: true e false.

  • O valor zero é false
  • Operadores lógicos: &&, ||, !
  • Operadores de comparação retornam bool: ==, !=, <, >
  • Go não converte inteiros implicitamente para bool (ao contrário de C)

Resumo dos valores zero

Todo tipo tem um valor zero bem definido:

  • int, todos os tipos numéricos → 0
  • float64 → 0.0
  • string → ""
  • bool → false
  • *T, fatia, mapa, canal, func → nil

Os valores zero tornam o código Go seguro — nunca lê memória não inicializada.

Literais numéricos

Go aceita vários formatos de literais numéricos:

package main

func main() {
    dec  := 1_000_000   // digit separators
    hex  := 0xFF
    oct  := 0o777
    bin  := 0b1010
    sci  := 1.5e3       // 1500.0
    _ = dec; _ = hex; _ = oct; _ = bin; _ = sci
}

Tamanhos e intervalos dos tipos

Conhecer os tamanhos dos tipos evita erros de estouro:

  • int8: -128 a 127
  • uint8: 0 a 255
  • int16: -32768 a 32767
  • int32: aproximadamente ±2,1 bilhões
  • int64: aproximadamente ±9,2 quintilhões

Use math.MaxInt64 e constantes semelhantes do pacote math para obter limites exatos.

rune e byte

rune e byte são aliases de tipos com significado semântico:

  • byte = uint8 — usado para dados binários brutos/ASCII
  • rune = int32 — usado para pontos de código Unicode

Ao percorrer uma string com range, Go fornece valores rune — perfeitos para trabalhar com caracteres UTF-8 de vários bytes, como emojis.

Escolhendo o tipo adequado

Orientações para escolher tipos numéricos:

  • Prefira int para contadores e índices
  • Use float64 para cálculos gerais de ponto flutuante
  • Use int64 / uint64 para identificadores, marcas de tempo e contagens grandes
  • Use int32 somente ao interagir com APIs que o exigem
  • Evite float32, a menos que esteja trabalhando com gráficos ou dados que precisem ocupar pouco espaço

Verificação rápida

Qual é o valor zero de uma variável string em Go?

Resumo: tipos integrados

Os tipos integrados de Go oferecem uma base sólida:

  • Família dos inteiros: int, int64, byte, rune
  • Ponto flutuante: prefira float64
  • string são bytes UTF-8 imutáveis
  • bool com true/false
  • Todo tipo tem um valor zero — sem surpresas

A seguir: constantes e o poderoso enumerador iota.

Proposta de prática

Experimente: declare uma variável rune contendo a letra 'A' e uma variável byte contendo 65. Imprima ambas — elas devem produzir o mesmo valor numérico. Depois, tente percorrer uma string curta com emoji para observar os valores rune em ação.

Grátis para começar

Aprenda Go com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
51
Aulas
203

Perguntas Frequentes

A aula “Tipos integrados do Go” é grátis?

Sim — o texto completo de “Tipos integrados do Go” é 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 Go Academy, atualize para CoddyKit PRO. O curso de Go Academy inclui 4 aulas no total.

O que vou aprender em “Tipos integrados do Go”?

int, float64, string, bool e seus valores zero Você pratica Go 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 Go Academy?

Nenhuma experiência prévia é necessária. Go 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 2 de 4.

Quanto tempo leva a aula “Tipos integrados do Go”?

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 Go Academy?

Sim. Cada aula de Go 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. Declarando variáveis em Go
  2. Tipos integrados do Go
  3. Constantes e iota
  4. Conversões de tipos em Go
← Voltar para Go Academy