Instalação, configuração do ambiente e o comando `go`
Artigo 02 — Instalação, configuração do ambiente e o comando go
Curso: Dominando Go em 1 Ano Prof. Ricardo Matos Módulo 1 — Fundamentos da Linguagem
Antes de escrever código, o ambiente precisa estar pronto
Muitos iniciantes pulam esta etapa com pressa e pagam o preço depois — erros misteriosos que têm origem em variáveis de ambiente mal configuradas, versões conflitantes ou caminhos incorretos. Dedicar atenção à instalação correta poupa horas de frustração futura.
Go tem uma das instalações mais simples entre linguagens modernas. Não há máquina virtual para instalar, não há gerenciador de pacotes obrigatório, não há dependências externas. Um único arquivo baixado do site oficial é suficiente para ter tudo funcionando.
Instalação no Linux
A forma recomendada no Linux é baixar o tarball oficial e extraí-lo manualmente. Isso garante que você está usando a versão mais recente e tem controle total sobre o local de instalação.
Abra o terminal e execute os comandos abaixo, substituindo a versão pelo número mais atual disponível em https://go.dev/dl:
# Remova qualquer instalação anterior
sudo rm -rf /usr/local/go
# Baixe a versão desejada (ajuste o número conforme o site oficial)
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
# Extraia para /usr/local
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
Agora adicione o Go ao PATH. Edite o arquivo ~/.bashrc ou ~/.zshrc (dependendo do seu shell) e adicione ao final:
export PATH=$PATH:/usr/local/go/bin
Recarregue o shell:
source ~/.bashrc
Instalação no macOS
No macOS, a forma mais direta é usar o instalador .pkg disponível em https://go.dev/dl. Baixe o arquivo, abra e siga as instruções — o instalador cuida do PATH automaticamente.
Quem prefere usar o Homebrew pode instalar com um único comando:
brew install go
Para verificar qual versão foi instalada:
brew info go
Instalação no Windows
No Windows, baixe o instalador .msi em https://go.dev/dl. Execute o arquivo e siga o assistente. O instalador adiciona Go ao PATH automaticamente.
Após a instalação, abra o Prompt de Comando ou PowerShell e verifique:
go version
Verificando a instalação
Independentemente do sistema operacional, o comando de verificação é sempre o mesmo:
go version
A saída esperada é algo como:
go version go1.22.0 linux/amd64
Se esse comando funcionar, o Go está instalado e acessível no PATH. Se o terminal responder com "comando não encontrado", o problema está na configuração do PATH.
Entendendo o GOPATH e o GOROOT
Esses dois conceitos causam confusão em iniciantes, mas são simples quando explicados com clareza.
GOROOT é o diretório onde o Go foi instalado — normalmente /usr/local/go no Linux e macOS. Você raramente precisará mexer nele diretamente.
GOPATH era, nas versões antigas do Go, o diretório onde todos os projetos e dependências ficavam armazenados. Desde o Go 1.11, com a introdução dos Go Modules, o GOPATH perdeu importância central. Hoje ele é usado principalmente para armazenar binários instalados com go install.
O valor padrão do GOPATH é ~/go (uma pasta chamada go dentro do seu diretório pessoal). Você pode verificar com:
go env GOPATH
Para ver todas as variáveis de ambiente do Go de uma vez:
go env
O comando go: sua principal ferramenta
O executável go não é apenas um compilador. Ele é um conjunto completo de ferramentas para compilar, testar, formatar, documentar e gerenciar dependências. Conhecer seus subcomandos principais é essencial.
go version # Mostra a versão instalada
go env # Lista todas as variáveis de ambiente do Go
go build # Compila o pacote ou programa atual
go run arquivo.go # Compila e executa em uma única etapa
go test # Executa os testes do pacote atual
go fmt # Formata o código seguindo o padrão oficial
go vet # Analisa o código em busca de erros comuns
go install # Compila e instala um binário
go get # Adiciona ou atualiza uma dependência
go mod init # Inicializa um novo módulo Go
go mod tidy # Remove dependências não usadas e adiciona as faltantes
go doc # Exibe documentação de pacotes e funções
Cada um desses subcomandos aceita flags adicionais. Para explorar as opções de qualquer subcomando:
go help build
go help test
Criando o primeiro projeto com Go Modules
Desde o Go 1.16, os módulos são o padrão absoluto para gerenciar projetos. Criar um projeto novo é direto:
# Crie um diretório para o projeto
mkdir meu-primeiro-projeto
cd meu-primeiro-projeto
# Inicialize o módulo
go mod init meu-primeiro-projeto
O comando go mod init cria um arquivo chamado go.mod com o seguinte conteúdo inicial:
module meu-primeiro-projeto
go 1.22
Esse arquivo é o coração do módulo. Ele registra o nome do módulo e a versão mínima do Go necessária. Quando dependências externas forem adicionadas, elas também aparecerão aqui.
Agora crie o arquivo principal:
touch main.go
Edite main.go com o seguinte conteúdo:
package main
import "fmt"
func main() {
fmt.Println("Projeto Go inicializado com sucesso.")
}
Para executar sem compilar explicitamente:
go run main.go
Para compilar e gerar um binário executável:
go build -o meu-app
./meu-app
O flag -o define o nome do binário gerado. Sem ele, Go usa o nome do diretório atual.
Escolhendo um editor
Go funciona bem com qualquer editor que tenha suporte à linguagem. As duas opções mais usadas pela comunidade são:
Visual Studio Code com a extensão oficial golang.go. Oferece autocompletar, navegação de código, execução de testes inline, depuração integrada e formatação automática ao salvar. É a escolha mais popular entre iniciantes e profissionais.
GoLand da JetBrains. Uma IDE comercial dedicada exclusivamente ao Go. Possui recursos avançados de refatoração e análise estática. Recomendada para quem trabalha em projetos de grande porte.
Para instalar a extensão no VS Code, abra o painel de extensões e pesquise por Go. Após instalar, o editor solicitará a instalação das ferramentas auxiliares (gopls, dlv, staticcheck). Aceite todas — elas são mantidas pela equipe oficial do Go.
Estrutura recomendada de um projeto simples
Não existe uma estrutura obrigatória imposta pelo compilador, mas a comunidade converge em torno de algumas convenções:
meu-projeto/
├── go.mod
├── go.sum
├── main.go
├── internal/
│ └── servico/
│ └── servico.go
└── pkg/
└── util/
└── util.go
main.go— ponto de entrada da aplicação.internal/— pacotes internos que não devem ser importados por projetos externos.pkg/— pacotes que podem ser reutilizados por outros projetos.
Em projetos pequenos, um único main.go na raiz é perfeitamente aceitável. A complexidade da estrutura deve crescer junto com a complexidade do projeto.
Resumo do que foi coberto
Neste artigo o ambiente Go foi instalado e configurado do zero. O comando go foi apresentado com seus principais subcomandos. Um projeto real foi criado usando Go Modules, e o primeiro binário foi compilado e executado. A partir do próximo artigo, o foco se volta inteiramente para a linguagem em si.
Referências e leituras complementares
Página de downloads oficial — Sempre obtenha o instalador aqui para garantir a versão mais recente e segura. https://go.dev/dl/
Documentação sobre Go Modules — Guia completo e oficial sobre o sistema de módulos. https://go.dev/ref/mod
Extensão Go para VS Code — Repositório e documentação da extensão oficial. https://github.com/golang/vscode-go
GoLand JetBrains — IDE dedicada ao Go com período de avaliação gratuito. https://www.jetbrains.com/go/
Go by Example: Hello World — Primeiro exemplo comentado do site de referência prática. https://gobyexample.com/hello-world
Referência completa do comando go — Documentação de todos os subcomandos e flags. https://pkg.go.dev/cmd/go
Próximo artigo: Artigo 03 — Variáveis, tipos primitivos e declaração curta
you asked
Sim