天天看點

使用fresh類庫實作Go gin熱重新開機

最近在學習

Golang

,每次修改代碼之後都需要重新

build

Go

目前沒有内置代碼熱更新的工具,找了一下找到了第三方類庫

fresh

,在開發的時候使用起來炒雞友善的。

安裝

go get github.com/pilu/fresh           

使用

進入項目根目錄

cd $GOPATH/src/fresh_test           

啟動

fresh

fresh           

這時控制台就開始編譯打包執行了,注意控制台傳回的資訊,能知道項目的編譯錯誤和日志,最後會有通路 url,

項目

go

 檔案有新增或修改,

fresh

 都會智能 

reload

 。

來實踐一下

main.go

package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    r := gin.Default()
    r.GET("/hello", func(c *gin.Context) {
        c.String(http.StatusOK,"Hello Fresh!")
})
    r.Run()
}           
使用fresh類庫實作Go gin熱重新開機

fresh

啟動之後,新開一個視窗用

curl

測試一下

[fuzqing@localhost ~]$ curl -XGET http://localhost:8080/hello
Hello Fresh!           

修改一下

main.go

package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    r := gin.Default()
    r.GET("/hello", func(c *gin.Context) {
        c.String(http.StatusOK,"Hello Fresh!\nReload")
})
    r.Run()
}           
[fuzqing@localhost ~]$ curl -XGET http://localhost:8080/hello
Hello Fresh!
Reload