Como criar um ambiente Go com Hot Reload usando Air
Como criar um ambiente Go com Hot Reload usando Air
Neste tutorial, você vai aprender a configurar um ambiente local para desenvolver aplicações em Go, com recarregamento automático (hot reload) usando a ferramenta Air e o router HTTP chi. Isso facilita o desenvolvimento, pois toda vez que você salvar um arquivo, o servidor será reiniciado automaticamente.
Pré-requisitos
Certifique-se de ter as seguintes ferramentas instaladas em seu sistema:
Passo 1: Criar o projeto Go
Abra o terminal e execute:
mkdir meu-app-go
cd meu-app-go
go mod init github.com/seuusuario/meu-app-goPasso 2: Instalar a biblioteca chi
No terminal, execute:
go get github.com/go-chi/chi/v5Passo 3: Criar um arquivo principal
Crie um arquivo chamado main.go com o seguinte conteúdo:
package main
import (
"fmt"
"net/http"
"github.com/go-chi/chi/v5"
)
func main() {
r := chi.NewRouter()
r.Get("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Olá, mundo com chi! 🚀")
})
fmt.Println("Servidor rodando em http://localhost:8080")
http.ListenAndServe(":8080", r)
}Passo 4: Instalar o Air
Para sistemas Unix (Linux/macOS):
go install github.com/cosmtrek/air@latestO executável do Air será instalado no diretório do seu Go bin (normalmente ~/go/bin). Adicione esse diretório ao seu PATH, se necessário:
export PATH=$PATH:$(go env GOPATH)/binPara Windows:
No PowerShell, execute:
go install github.com/cosmtrek/air@latest
$env:Path += ";$env:GOPATH\bin"Ou adicione manualmente o caminho do Go bin (%USERPROFILE%\go\bin) à variável de ambiente PATH.
Passo 5: Configurar o Air
Crie um arquivo .air.toml na raiz do projeto com a configuração padrão:
# .air.toml
[build]
cmd = "go build -o ./tmp/main ."
bin = "tmp/main"
full_bin = "tmp/main"
include_ext = ["go"]
exclude_dir = ["tmp", "vendor"]
delay = 1000
log = "air.log"
send_interrupt = true
kill_delay = 500Passo 6: Rodar o projeto com hot reload
No terminal, dentro da pasta do projeto, execute:
airVocê verá algo como:
Servidor rodando em http://localhost:8080
Agora, sempre que você alterar e salvar um arquivo .go, o Air irá recompilar e reiniciar o servidor automaticamente.
Dicas
- Edite o arquivo
main.goe salve para ver o hot reload funcionando. - Use o navegador ou o comando
curl http://localhost:8080para testar.
Testando com curl
Após rodar o servidor, você pode testar a resposta da sua API usando o comando abaixo no terminal:
curl http://localhost:8080Você deve ver a mensagem:
Olá, mundo com chi! 🚀
Passo 7: Encerrando o servidor
Para parar o servidor, pressione Ctrl + C no terminal.
Conclusão
Com isso, você tem um ambiente Go pronto para desenvolvimento rápido, com recarregamento automático usando Air e o router chi. Ideal para quem está começando!
Referências
- Documentação oficial do Go
- Documentação do chi
- Documentação do Air
- Adicionando botão de copiar em blocos de código no Astro (Hynek Svacha)
- Supercharged Code Blocks in Astro (Bahaa Zidan - gebna.gg)
- Rehype Pretty Code - documentação oficial
Autores das referências externas:
Outros créditos e inspirações estão citados nos respectivos links.