0Pricing
Go Academy · Aula

Declarando variáveis em Go

var, := e inferência de tipos

Declarando variáveis em Go é uma aula grátis de Go Academy no CoddyKit. Esta é a aula 1 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.

O que é uma variável?

Uma variável é um local de armazenamento nomeado para um valor. Em Go, toda variável tem um tipo fixado em tempo de compilação.

  • Go tem tipagem estática — os tipos não podem mudar durante a execução
  • As variáveis sempre têm um valor zero padrão quando não são definidas explicitamente
  • É importante usar nomes claros: Go favorece nomes curtos e claros em vez de nomes longos

Declaração de var

A palavra-chave var declara uma ou mais variáveis explicitamente:

package main

func main() {
    var name string
    var age  int
    var pi   float64 = 3.14
    _ = name
    _ = age
    _ = pi
}

Declaração curta de variável :=

Dentro das funções, pode usar := para fazer uma declaração e uma atribuição concisas em uma única etapa.

  • O tipo é inferido a partir do lado direito
  • := só está disponível dentro do corpo de uma função
  • Pelo menos uma variável do lado esquerdo precisa ser nova
package main

func main() {
    city := "Ankara"   // string inferred
    count := 42         // int inferred
    temp := 36.6        // float64 inferred
    _ = city
    _ = count
    _ = temp
}

Valores zero

Go inicializa automaticamente toda variável declarada com seu valor zero:

  • int, float64 → 0
  • string → "" (string vazia)
  • bool → false
  • Ponteiros, fatias, mapas, canais → nil

Os valores zero eliminam erros de variáveis não inicializadas comuns em C/C++.

Declaração de várias variáveis

Declare e atribua várias variáveis de uma só vez usando um bloco ou a forma de tupla:

package main

var (
    host = "localhost"
    port = 8080
    debug = false
)

func main() {
    x, y := 10, 20
    _ = x
    _ = y
}

Regras de inferência de tipos

Quando usa :=, Go infere o tipo a partir do literal:

  • Literais inteiros → int
  • Literais de ponto flutuante → float64
  • Literais de string → string
  • Literais complexos → complex128

Se precisar de um tipo específico (por exemplo, int32), use uma declaração var explícita ou uma conversão.

Variáveis no nível do pacote vs no nível da função

As variáveis podem existir no nível do pacote (globais ao pacote) ou no nível da função (locais à função):

  • Nível do pacote: use var — acessível de qualquer lugar do pacote
  • Nível da função: use := ou var — visível apenas dentro da função
  • Prefira variáveis no nível da função para manter o estado contido

Identificador em branco _

O identificador em branco _ descarta um valor de que não precisa. Go exige que toda variável declarada seja usada — _ é a alternativa para esses casos:

package main

func divide(a, b int) (int, int) {
    return a / b, a % b
}

func main() {
    quotient, _ := divide(10, 3) // discard remainder
    _ = quotient
}

Ocultação de variáveis

A ocultação ocorre quando um escopo interno declara uma variável com o mesmo nome de um escopo externo:

  • A variável interna oculta a externa dentro do próprio escopo
  • Isso pode causar erros sutis — faça isso intencionalmente
  • Use go vet e ferramentas de análise como staticcheck para detectar ocultações acidentais

Erros comuns com :=

Fique atento a estas armadilhas de :=:

  • Usar := no nível do pacote → erro de compilação
  • Todas as variáveis do lado esquerdo já existem → use = em vez disso
  • Ocultar acidentalmente uma variável de erro externa em blocos if-err

Quando estiver em dúvida, use var explicitamente para ter mais clareza.

Verificação rápida

Qual das opções a seguir é a sintaxe correta para uma declaração curta de variável em Go?

Resumo: declarando variáveis

Agora sabe como declarar variáveis em Go:

  • var name type — declaração explícita com valor zero
  • var name = value — var com inferência de tipo
  • name := value — declaração curta dentro de funções
  • Os valores zero são automáticos — não há estado não inicializado
  • _ descarta valores indesejados

A seguir: os tipos integrados de Go e seus valores zero em detalhes.

Proposta de prática

Tente fazer por conta própria: declare uma variável no nível do pacote chamada appName do tipo string e uma variável no nível da função chamada retries, usando := e atribuindo-lhe 3.

Lembre-se: as variáveis no nível do pacote usam var, e := só é válido dentro dos corpos das funções.

Perguntas Frequentes

A aula “Declarando variáveis em Go” é grátis?

Sim — o texto completo de “Declarando variáveis em 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 “Declarando variáveis em Go”?

var, := e inferência de tipos 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 1 de 4.

Quanto tempo leva a aula “Declarando variáveis em 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