Живая перезагрузка в Go (Golang): методы и примеры

  1. Reflex:
    Reflex — это инструмент командной строки, который автоматически перестраивает и перезапускает приложение Go при обнаружении изменений в исходном коде.
$ go get github.com/cespare/reflex
$ reflex -r '\.go$' -s -- go run main.go
  1. Fresh:
    Fresh — это еще один инструмент командной строки, который перестраивает и перезапускает ваше приложение Go всякий раз, когда обнаруживает изменения в исходном коде.
$ go get github.com/gravityblast/fresh
$ fresh
  1. Gin:
    Gin – это популярная веб-платформа для Go, включающая встроенную поддержку динамической перезагрузки. Он отслеживает изменения в файлах Go, автоматически перестраивает и перезапускает ваше приложение.
package main
import "github.com/gin-gonic/gin"
func main() {
    r := gin.Default()
    r.GET("/", func(c *gin.Context) {
        c.String(200, "Hello, World!")
    })
    r.Run()
}
  1. Air:
    Air — это гибкий и настраиваемый инструмент перезагрузки в реальном времени для приложений Go. Он обеспечивает автоматическое перестроение и перезапуск вашего приложения при обнаружении изменений.
$ go get github.com/cosmtrek/air
$ air
  1. CompileDaemon:
    CompileDaemon — это легкий инструмент, который отслеживает ваши файлы Go и автоматически перестраивает и перезапускает ваше приложение при возникновении изменений.
$ go get github.com/githubnemo/CompileDaemon
$ CompileDaemon -command="./yourapp"
  1. Modd:
    Modd — это инструмент разработчика, который запускает вашу команду при каждом изменении файлов. Его можно использовать для оперативной перезагрузки в Go, определив файл конфигурации.
$ go get github.com/cortesi/modd/cmd/modd
$ modd