DevForge
Go (Golang)
Linguagem compilada, concorrente e eficiente da Google, ideal para microsserviços, CLI tools e sistemas de alta performance.
⚡ Instalação automatizada
curl -fsSL https://rafaelferreira2312.github.io/devforge/scripts/go/install.sh | bash -s 1.23Set-ExecutionPolicy Bypass -Scope Process; iex "& { $(irm https://rafaelferreira2312.github.io/devforge/scripts/go/install.ps1) } 1.23"curl -fsSL https://rafaelferreira2312.github.io/devforge/scripts/go/install.sh | bash -s 1.23Os scripts configuram GOPATH, GOROOT e adicionam Go ao PATH automaticamente.
Requisitos mínimos
- CPU: 2+ núcleos (x86_64 ou ARM64)
- RAM: 1 GB (recomendado 2 GB para projetos maiores)
- Armazenamento: 2 GB SSD
- SO: Ubuntu 20.04+, Debian 11+, RHEL 8+, Windows 10/11, macOS 11+
Hardware recomendado (Dev)
- Notebook: Dell XPS, MacBook Pro M1/M2, Lenovo ThinkPad
- CPU: i5 / Ryzen 5 ou superior
- RAM: 8 GB (16 GB para compilações pesadas)
- SSD NVMe 256 GB+
🛠️ Stack recomendada
Ferramentas essenciais
- Gerenciador de módulos: go modules (built-in)
- Framework web: Gin / Echo / Fiber
- ORM: GORM / Ent
- Testes: testing (built-in) / testify
- Ferramentas: golangci-lint, delve (debugger)
Extensões VSCode
- Go (Google)
- Go Test Explorer
- Go Outliner
- Prettier - Code formatter
- REST Client
Docker (opcional)
docker run -it --rm golang:1.23-alpine go version
🔧 Troubleshooting (diagnósticos reais)
❌ Erro: "go: command not found"
Causa: Go não instalado ou não está no PATH.
Solução: Verifique com which go ou reinstale usando o script DevForge.
⚠️ Erro: "go.mod file not found"
Causa: Você não está em um módulo Go.
Solução: Execute go mod init nomedomodulo para criar o go.mod.
🐘 Erro: "build constraints exclude all Go files"
Causa: Arquivos Go com build tags que não correspondem ao SO/arquitetura atual.
Solução: Verifique as tags // +build no início dos arquivos.
⚠️ GOPATH não configurado corretamente
Causa: Go modules tornam o GOPATH obsoleto, mas ainda pode causar confusão.
Solução: Use export GO111MODULE=on para forçar o uso de módulos.
Diagnóstico automático:
go version && go env GOPATH && go env GOROOT && echo "PATH: $PATH" | tr ':' '\n' | grep -i go && which go
Este comando verifica: versão do Go, GOPATH, GOROOT, PATH e localização do binário go.
⚙️ Comandos Go úteis
go mod init example.com/meumodulo – inicia um novo módulogo get github.com/gin-gonic/gin – adiciona dependênciago build – compila o programa atualgo run main.go – compila e executago test ./... – executa todos os testesgo mod tidy – limpa dependências não usadasgo fmt ./... – formata todo o código🔧 Ferramentas Go populares
go install golang.org/x/tools/gopls@latest – LSP para VSCodego install github.com/go-delve/delve/cmd/dlv@latest – debuggergo install github.com/golangci/golangci-lint/cmd/golangci-lint@latest – lintergo install github.com/cosmtrek/air@latest – live reload⚠️ IMPORTANTE - Como executar os scripts corretamente
Os scripts abaixo funcionam em Windows, Linux e macOS. Siga as instruções específicas do seu sistema:
# ERRO COMUM: "arquivo não assinado" ou "execução de scripts desabilitada"
# SOLUÇÃO 1: Executar com bypass (recomendado)
powershell -ExecutionPolicy Bypass -File "C:\caminho\script.ps1"
# SOLUÇÃO 2: Baixar e executar direto (pode ter erro de codificação)
powershell -ExecutionPolicy Bypass -Command "iex (irm https://.../script.ps1)"
# SOLUÇÃO 3: Habilitar execução permanentemente (como Administrador)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
# Se houver erros de acentuação (caracteres estranhos): O script ainda funciona, apenas a saída visual pode ficar distorcida
# ERRO COMUM: "permission denied" ou "comando não encontrado"
# SOLUÇÃO 1: Dar permissão de execução (obrigatório)
chmod +x script.sh
# SOLUÇÃO 2: Executar o script
./script.sh
# SOLUÇÃO 3: Executar via curl (baixar e executar direto)
curl -fsSL https://.../script.sh | bash
# SOLUÇÃO 4: Se der erro de permissão, use sudo (cuidado!)
sudo chmod +x script.sh && sudo ./script.sh
# Se houver erros de permissão: Execute 'ls -la script.sh' para verificar permissões atuais
# ERRO COMUM: "permission denied" ou "operation not permitted"
# SOLUÇÃO 1: Dar permissão de execução
chmod +x script.sh
# SOLUÇÃO 2: Executar o script
./script.sh
# SOLUÇÃO 3: Se der erro de "quarentena" (arquivo baixado da internet)
xattr -d com.apple.quarantine script.sh
# SOLUÇÃO 4: Executar via curl
curl -fsSL https://.../script.sh | bash
# Se erro persistir: Vá em Preferências do Sistema → Segurança e Privacidade → Permitir execução
Dicas importantes:
• Windows: Se aparecerem caracteres estranhos (ex: "�" ou "ção"), ignore - o script funciona normalmente. Para evitar, baixe o script localmente e execute.
• Linux/macOS: Sempre use chmod +x antes de executar scripts baixados.
• WSL (Windows): Siga as instruções do Linux, mas certifique-se de que o script está dentro do sistema de arquivos do Linux (não no /mnt/c/).
📜 Scripts prontos
Scripts verificados no Ubuntu 22.04/24.04, Debian 12, macOS 13+ e Windows 10/11.
❓ Perguntas frequentes
O que é GOPATH e ainda preciso usá-lo?
Desde Go 1.11, os módulos (go.mod) são o padrão. O GOPATH não é mais obrigatório, mas ainda é usado como cache de módulos. O script do DevForge configura o GOPATH automaticamente.
Como gerenciar múltiplas versões do Go?
Use o gvm (Go Version Manager) ou o go get golang.org/dl/go1.23.0 para instalar versões específicas.
Qual versão do Go devo usar em produção?
Sempre use a versão estável mais recente (1.23+). O time do Go mantém compatibilidade retroativa, então a atualização é segura.
Como compilar para múltiplos SO/arquiteturas?
Use variáveis de ambiente: GOOS=linux GOARCH=amd64 go build para Linux, GOOS=windows GOARCH=amd64 go build para Windows.