Instalando o ambiente Go
Esta aula orienta a instalação do Go, configuração do GOPATH e Go Modules, preparação do VSCode com extensões essenciais e verificação da instalação. O aluno aprenderá a ter um ambiente funcional para começar a programar em Go.
Nesta aula, você aprenderá a instalar o Go, configurar seu ambiente de desenvolvimento e verificar se tudo está funcionando corretamente. Vamos abordar desde o download do compilador até a configuração do editor VSCode com as ferramentas essenciais para produtividade.
Go é uma linguagem compilada e estaticamente tipada, e seu ecossistema é simples e bem documentado. Com a instalação adequada, você poderá compilar e executar programas, gerenciar dependências e usar ferramentas como formatação automática e linting.
Instalando o Go
A instalação do Go é direta: baixe o pacote adequado para seu sistema operacional no site oficial (https://go.dev/dl/). Siga as instruções para Windows, macOS ou Linux. Após a instalação, o comando go estará disponível no terminal.
No Windows, execute o instalador MSI; no macOS, use o pacote .pkg ou Homebrew (brew install go); no Linux, extraia o tarball em /usr/local e adicione /usr/local/go/bin ao PATH. Verifique a instalação com go version.
$ go version
go version go1.22.2 linux/amd64GOPATH e Go Modules
Historicamente, Go usava o GOPATH como diretório de trabalho, onde todo o código e dependências eram armazenados. A partir do Go 1.11, os Go Modules se tornaram o padrão, permitindo que projetos sejam desenvolvidos fora do GOPATH e gerenciem dependências de forma declarativa.
Com Go Modules, você cria um arquivo go.mod no diretório do projeto, que define o módulo e suas dependências. Execute go mod init <nome-do-modulo> para iniciar. Exemplo:
$ mkdir meuprojeto
$ cd meuprojeto
$ go mod init github.com/meuuser/meuprojeto
go: creating new go.mod: module github.com/meuuser/meuprojetoO GOPATH ainda é usado para armazenar binários compilados (diretório bin) e cache de módulos (pkg/mod). Você pode definir GOPATH como variável de ambiente, mas não é necessário para projetos com módulos.
VSCode e ferramentas
O Visual Studio Code é o editor mais popular para Go. Instale a extensão oficial Go (golang.go) que oferece IntelliSense, formatação, linting e depuração. Após instalar a extensão, abra um arquivo .go e ela sugerirá instalar ferramentas adicionais como gopls (servidor de linguagem), dlv (depurador) e staticcheck (linter).
Para instalar manualmente, use go install:
$ go install golang.org/x/tools/gopls@latest
$ go install github.com/go-delve/delve/cmd/dlv@latest
$ go install honnef.co/go/tools/cmd/staticcheck@latestOutras extensões úteis: Go Test Explorer (para visualizar testes), Go Doc Comments (para documentação) e temas de sua preferência.
Verificando a instalação
Para confirmar que tudo está configurado, crie um arquivo hello.go:
package main
import "fmt"
func main() {
fmt.Println("Olá, Go!")
}Execute com go run hello.go. Se a saída for "Olá, Go!", a instalação está correta. Teste também go env para ver variáveis como GOPATH, GOROOT e GOMODCACHE.
Verifique se o gopls está funcionando: no VSCode, abra o arquivo e veja se há realce de sintaxe e sugestões. Execute go fmt no terminal para formatar o código.
Boas práticas
Mantenha o Go atualizado (a cada 6 meses). Use go mod tidy para limpar dependências não utilizadas. Evite modificar o diretório GOPATH/pkg/mod manualmente. Configure o VSCode para formatar ao salvar (editor.formatOnSave).
Referências
- Documentação oficial de instalação do Go
- Go Modules: an introduction
- Extensão Go para VSCode
- Documentação do comando go
- Go Wiki
- Repositório da extensão Go no GitHub
Exercícios
Crie um diretório chamado
exercicio1, inicialize um módulo Go com o nomeexemplo/helloe crie um programa que imprima seu nome.✓ Resposta:$ mkdir exercicio1 $ cd exercicio1 $ go mod init exemplo/hello $ cat > main.go << EOF package main import "fmt" func main() { fmt.Println("Meu nome é João") } EOF $ go run main.go Meu nome é JoãoVerifique a versão do Go instalada e as variáveis de ambiente GOROOT e GOPATH usando
go env.✓ Resposta:$ go version go version go1.22.2 linux/amd64 $ go env GOROOT GOPATH /usr/local/go /home/usuario/goNo VSCode, instale a extensão Go e configure para formatar automaticamente ao salvar. Crie um arquivo
teste.gocom um código mal formatado (ex: espaços extras) e salve para ver a formatação.✓ Resposta:No VSCode, vá em Arquivo > Preferências > Configurações, procure por
formatOnSavee marque a opção. Crieteste.gocom:package main func main() { println("oi")}Ao salvar, deve se tornar:
package main func main() { println("oi") }Use
go installpara instalar a ferramentastaticchecke execute-a em um arquivo Go simples (ex: ohello.gocriado).✓ Resposta:$ go install honnef.co/go/tools/cmd/staticcheck@latest $ staticcheck hello.go # se não houver problemas, não imprime nadaCrie um módulo Go que dependa de um pacote externo, como
rsc.io/quote. Usego mod tidye execute o programa para imprimir uma citação.✓ Resposta:$ mkdir exercicio5 && cd exercicio5 $ go mod init exemplo/quote $ cat > main.go << EOF package main import ( "fmt" "rsc.io/quote" ) func main() { fmt.Println(quote.Go()) } EOF $ go mod tidy go: finding module for package rsc.io/quote go: downloading rsc.io/quote v1.5.2 ... $ go run main.go Don't communicate by sharing memory, share memory by communicating.