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→0string→""(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
:=ouvar— 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 vete ferramentas de análise comostaticcheckpara 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 zerovar name = value— var com inferência de tiponame := 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
- Declarando variáveis em Go
- Tipos integrados do Go
- Constantes e iota
- Conversões de tipos em Go