天天看点

使用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