Nesta aula, vamos preparar o ambiente de desenvolvimento para programar em Go. Você aprenderá a instalar o compilador, configurar o GOPATH e Go Modules, instalar o VSCode com ferramentas úteis e verificar se tudo está funcionando corretamente.

Instalando o Go

O Go pode ser instalado de várias formas: via binário oficial, gerenciador de pacotes ou compilação manual. Recomendo usar o instalador oficial para Windows, macOS ou Linux.

Windows: Baixe o arquivo MSI do site oficial e execute. O instalador adiciona o Go ao PATH automaticamente.

macOS: Use o Homebrew: brew install go ou baixe o pacote .pkg.

Linux: Baixe o tarball e extraia em /usr/local:

wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz

Adicione ao ~/.profile:

export PATH=$PATH:/usr/local/go/bin

Recarregue o perfil: source ~/.profile.

GOPATH e Go Modules

Antes do Go 1.11, todo código Go precisava estar dentro do GOPATH (por padrão $HOME/go). Com Go Modules, podemos trabalhar fora do GOPATH. Para iniciar um módulo, use:

mkdir meu-projeto
cd meu-projeto
go mod init exemplo.com/meu-projeto

Isso cria um arquivo go.mod. O Go Modules gerencia dependências automaticamente. Para adicionar uma dependência:

go get rsc.io/quote

O go.sum é criado para verificar integridade.

O GOPATH ainda é usado para armazenar binários compilados (em $GOPATH/bin) e módulos em cache. Recomenda-se manter o GOPATH padrão.

VSCode e ferramentas

Instale o Visual Studio Code e adicione a extensão oficial Go (da equipe Go). Após instalar, abra um arquivo .go e o VSCode sugerirá instalar ferramentas como gopls (LSP), dlv (debug) e staticcheck (lint). Clique em “Install All”.

Para usar o terminal integrado, pressione Ctrl+`. Configure o go.gopath e go.goroot nas configurações se necessário.

Outras ferramentas úteis:

  • golint: verifica estilo de código.
  • goimports: formata e organiza imports.
  • dlv: depurador.

Verificando a instalação

Para verificar se o Go foi instalado corretamente, execute no terminal:

go version

Deverá mostrar algo como go version go1.22.0 linux/amd64.

Crie um arquivo hello.go:

package main

import "fmt"

func main() {
    fmt.Println("Olá, Go!")
}

Execute com go run hello.go e veja a saída.

Para verificar variáveis de ambiente:

go env GOPATH GOROOT

Certifique-se de que $GOPATH/bin está no PATH para executar binários.

Referências

Exercícios

  1. Instale o Go utilizando o método adequado para seu sistema operacional. Após a instalação, execute go version e anote a saída.

    A saída deve ser algo como go version go1.22.0 linux/amd64 (ou similar para Windows/macOS).
  2. Crie um novo módulo Go chamado meu-modulo dentro de um diretório com o mesmo nome. Execute go mod init com o nome exemplo.com/meu-modulo.

    mkdir meu-modulo
    cd meu-modulo
    go mod init exemplo.com/meu-modulo
  3. No módulo criado, escreva um programa que imprima “Hello, World!” e execute com go run.

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello, World!")
    }
    
    Execute: go run main.go
  4. Instale a extensão Go no VSCode e instale as ferramentas sugeridas (gopls, dlv, staticcheck). Verifique se o gopls está funcionando abrindo um arquivo .go e vendo se há realce de sintaxe.

    Após instalar a extensão Go no VSCode, abra um arquivo .go. Uma notificação aparecerá no canto inferior direito para instalar as ferramentas. Clique em “Install All”. Após a instalação, o editor deve fornecer autocompletar e realce de sintaxe.
  5. Verifique as variáveis de ambiente GOPATH e GOROOT com o comando go env e certifique-se de que GOPATH/bin está no PATH.

    Execute go env GOPATH GOROOT. Exemplo de saída:
    GOPATH="/home/usuario/go"
    GOROOT="/usr/local/go"
    Para verificar se $GOPATH/bin está no PATH, execute echo $PATH e procure pelo diretório. Se não estiver, adicione ao seu perfil (~/.bashrc ou ~/.zshrc): export PATH=$PATH:$(go env GOPATH)/bin