Restartando aplicação Go de forma automática com Air
Pra quem vem do PHP, não tem dificuldade quando quesito é ver as alterações em tempo real na aplicação. Mas quando mudamos a perspectiva para outra linguagem de programação compilada, a história é outra!
Iniciando em Go, senti algumas dificuldades em achar alguma ferramenta que fizesse o Live Reaload da aplicação de forma simples e descomplicada. Tentei usar o Nodemon, mas precisava utilizar com o Makefile pra ter um pouco mais de praticidade com o comando a ser executado, até que vasculhando a internet, eu pude encontrar a biblioteca Air.
Instalando a biblioteca
Para instalar, é simples, basta executar o seguinte comando dentro da raíz da sua aplicação:
go install github.com/cosmtrek/air@latest
Depois de fazer a instalação, é necessário inicializar o Air.
air init
Com esse comando, ele irá gerar um arquivo de configuração .air.toml, no qual é possível fazer algumas personalizações que estão melhor especificadas aqui, mas por padrão já consegue identificar modificações nos arquivos .go e .html (caso esteja fazendo uso do go template).
E agora já podemos executar o comando para executar a aplicação:
air
Obs: meu arquivo main.go se encontra na raíz, caso o seu não esteja, é necessário configurar no arquivo .air.toml como mencionado anteriormente.
Referências:
https://mainawycliffe.dev/blog/live-reloading-golang-using-air/
https://github.com/cosmtrek/air