Guia Completo: Como começar e compilar projetos em Go


Olá, futuro(a) programador(a) Go! Se você chegou até aqui, provavelmente está curioso(a) sobre a linguagem Go (também conhecida como Golang) e quer dar os primeiros passos.
A boa notícia é que você escolheu uma linguagem poderosa, eficiente e com um sistema de compilação simplesmente genial!
Neste post, vamos mergulhar de cabeça em como iniciar um projeto Go do zero e, o mais legal, como "exportá-lo" (ou seja, compilá-lo) para que ele possa rodar em diferentes sistemas operacionais, como Linux, Windows e macOS, com uma facilidade impressionante.
Prepare-se para ver a magia do Go em ação!
Passo 1: O pontapé inicial - criando seu projeto Go
Todo grande projeto começa com um bom alicerce.
Em Go, isso significa criar um diretório e inicializar um "módulo".
O módulo Go é o coração do seu projeto, gerenciando as dependências e organizando seu código.
Vamos colocar as mãos na massa! Abra seu terminal (Prompt de Comando, PowerShell, Terminal, etc.) e siga estes comandos:
# 1. Crie uma pasta para o seu novo projeto
mkdir meu-primeiro-go-app
# 2. Navegue para dentro dessa pasta
cd meu-primeiro-go-app
Com a pasta criada e você dentro dela, é hora de inicializar seu módulo Go.
Pense no caminho do módulo como uma espécie de "endereço" único para o seu projeto. É comum usar o caminho de um repositório Git (ex: github.com/seuusuario/nome-do-app
), mas para nosso exemplo, vamos usar algo genérico:
# 3. Inicialize o módulo Go
go mod init exemplo.com/meu-primeiro-go-app
O que aconteceu?
Você acabou de criar um arquivo chamado go.mod
dentro da sua pasta! Se você der uma olhada nele (cat go.mod
no Linux/macOS ou type go.mod
no Windows), verá algo parecido com:
module exemplo.com/meu-primeiro-go-app
go 1.24 // A versão do Go pode variar
Este arquivo é como a carteira de identidade do seu projeto Go.
Ele é essencial para o Go entender o que seu projeto é e quais pacotes ele usa.
Passo 2: Seu primeiro código Go - "Olá, Mundo!"
Agora que a estrutura está pronta, vamos escrever nosso primeiro programa Go. Por tradição, começaremos com o clássico "Olá, Mundo!".
Crie um novo arquivo chamado main.go
dentro da pasta meu-primeiro-go-app
.
Você pode usar seu editor de código favorito ou, se preferir o terminal:
# No Linux/macOS
touch main.go
# No Windows
echo "" > main.go
Agora, edite o arquivo main.go
e adicione o seguinte código:
package main
import "fmt"
func main() {
// Exibe uma mensagem no console
fmt.Println("Olá, Go! Meu primeiro aplicativo está rodando!")
}
Entendendo o Código:
package main
: Indica que este é um programa executável. Todo executável Go precisa do pacotemain
.import "fmt"
: Importa o pacotefmt
(de "format"), que nos dá funções para formatar e imprimir textos, como o que vamos usar.func main()
: Esta é a função principal do seu programa. Quando você o executa, o Go começa por aqui.fmt.Println(...)
: A funçãoPrintln
do pacotefmt
imprime o texto entre parênteses na tela e adiciona uma nova linha.
Passo 3: Executando seu código Go
Com o código pronto, é hora de ver a mágica acontecer! Certifique-se de que você ainda está no diretório meu-primeiro-go-app
no seu terminal e execute:
go run main.go
Você deverá ver a mensagem:
Olá, Go! Meu primeiro aplicativo está rodando!
Parabéns! Seu primeiro programa Go está no ar!
Passo 4: O "Grande segredo" - Compilando seu projeto (Gerando o Executável)
"Exportar" um projeto Go significa, na verdade, compilá-lo em um arquivo executável.
A grande vantagem do Go é que ele cria um único arquivo binário autônomo, ou seja, você não precisa se preocupar em levar centenas de arquivos ou bibliotecas junto com seu programa.
O executável já tem tudo o que precisa!
Para compilar, usamos o comando go build
:
go build
O que acontece agora? Após a execução, um novo arquivo será criado na sua pasta:
No Linux/macOS:
meu-primeiro-go-app
(o nome da sua pasta principal)No Windows:
meu-primeiro-go-app.exe
Este é o seu programa compilado! Você pode executá-lo diretamente:
./meu-primeiro-go-app # No Linux/macOS
meu-primeiro-go-app.exe # No Windows
Ele produzirá a mesma saída de antes. Incrível, não é?
Você tem um executável independente!
Passo 5: A joia da coroa - Cross-compilação em Go!
Aqui é onde o Go realmente brilha!
Uma das suas características mais amadas é a cross-compilação nativa.
Isso significa que você pode compilar seu código para diferentes sistemas operacionais (Windows, Linux, macOS) e arquiteturas de processador (32-bit, 64-bit, ARM) a partir do seu próprio computador, sem precisar de máquinas virtuais ou configurações complicadas.
Para fazer isso, usamos duas variáveis de ambiente:
GOOS
: Define o sistema operacional alvo (ex:windows
,linux
,darwin
para macOS).GOARCH
: Define a arquitetura do processador alvo (ex:amd64
para 64-bit,arm64
para Apple Silicon ou Raspberry Pi).
A sintaxe geral é:
GOOS=<sistema_operacional_alvo> GOARCH=<arquitetura_alvo> go build -o <nome_do_executavel>
Vamos ver alguns exemplos práticos:
Exemplo 1: Compilando para Linux (64-bit)
Se você quer que seu programa rode na maioria dos servidores Linux:
# Se você está no Linux/macOS:
GOOS=linux GOARCH=amd64 go build -o meu-programa-linux
# Se você está no Windows (usando PowerShell):
$env:GOOS="linux"; $env:GOARCH="amd64"; go build -o meu-programa-linux
Remove-Item Env:GOOS, Env:GOARCH # Para limpar as variáveis de ambiente
# Se você está no Windows (usando Prompt de Comando):
set GOOS=linux
set GOARCH=amd64
go build -o meu-programa-linux
set GOOS=
set GOARCH=
Um arquivo meu-programa-linux
será criado.
Exemplo 2: Compilando para Windows (64-bit)
Se seu objetivo é o sistema operacional Windows:
# Se você está no Linux/macOS:
GOOS=windows GOARCH=amd64 go build -o meu-programa-windows.exe
# Se você está no Windows (usando PowerShell):
$env:GOOS="windows"; $env:GOARCH="amd64"; go build -o meu-programa-windows.exe
Remove-Item Env:GOOS, Env:GOARCH
# Se você está no Windows (usando Prompt de Comando):
set GOOS=windows
set GOARCH=amd64
go build -o meu-programa-windows.exe
set GOOS=
set GOARCH=
Um arquivo meu-programa-windows.exe
será criado.
Exemplo 3: Compilando para macOS (Apple Silicon - M1/M2/M3)
Se você quer atingir os novos Macs com chips M-series:
# Se você está no Linux/Windows:
GOOS=darwin GOARCH=arm64 go build -o meu-programa-mac-m1
Dica: Para ver todas as combinações GOOS
e GOARCH
que o Go suporta, execute no seu terminal:
go tool dist list
Conclusão
Incrível, não é?
Em poucos passos, você não apenas iniciou seu primeiro projeto Go, escreveu um código funcional, como também aprendeu a compilá-lo para ser executado em qualquer lugar!
Essa facilidade de geração de binários autônomos e a cross-compilação são alguns dos motivos pelos quais Go é tão amado por desenvolvedores para construir desde pequenas ferramentas de linha de comando até complexos serviços de backend.
Subscribe to my newsletter
Read articles from Renato Cruz directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
