Roger Felipe Nsk
open main menu
blog placeholder

Como criar um ambiente Go com Hot Reload usando Air

/ 3 min read
Last updated:

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:

  1. Go
  2. Git
  3. Air (iremos instalar no tutorial)

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-go

Passo 2: Instalar a biblioteca chi

No terminal, execute:

go get github.com/go-chi/chi/v5

Passo 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@latest

O 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)/bin

Para 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 = 500

Passo 6: Rodar o projeto com hot reload

No terminal, dentro da pasta do projeto, execute:

air

Você 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.go e salve para ver o hot reload funcionando.
  • Use o navegador ou o comando curl http://localhost:8080 para 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:8080

Você 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

Autores das referências externas:

Outros créditos e inspirações estão citados nos respectivos links.