本文已参与「新人创作礼」活动,一起开启掘金创作之路。
为什么要学gin框架?
Gin 是一个基于 Go 语言编写的 Web 框架,快速灵活、封装简单、运行速度快。使用也比较广泛。借助高性能的 httprouter,有着高性能和更快开发效率。
引入gin框架
在我们创建了一个项目后,想使用gin框架,就得先引入
法一: 1、为了解决依赖问题,我们先使用go modules进行包管理
1、创建项目
2、新建包管理文件夹
3、初始化go mod
go mod init packageName
法二:如果不想使用包管理,也可以直接下载
go get -u github.com/gin-gonic/gin
2、在攥写代码的过程中引入gin框架
例如:
import (
"github.com/gin-gonic/gin" // 导入web服务框架
)
func start(addr, webDir string) (err error) {
// 使用gin框架提供的默认web服务引擎
r := gin.Default()
// 静态文件服务
if len(webDir) > 0 {
// 将一个目录下的静态文件,并注册到web服务器
r.Static("/web", webDir)
}
// api接口服务,定义了路由组 /todo
todo := r.Group("todo")
{
// 定义增改查的接口,并注册到web服务器
todo.GET("", ListTodoHandler)
todo.POST("", InsertTodoHandler)
todo.PUT("", UpdateTodoHandler)
//todo.DELETE("", DeleteTodoHandler)
}
// 启动web服务
err = r.Run(addr)
return err
然后下载,控制台输入
go mod tidy
快速运行(新建main.go文件):
func main(){
err := Start(fmt.Sprintf("%s:%s", "127.0.0.1", "8888"), "Static")
if err != nil {
fmt.Printf("web服务错误:%v\n", err)
return
}
}
运行代码
方法一: 然后执行go run 命令就能运行了
go run main.go
方法二:编译成二进制文件,在运行
go build main.go //编译二进制文件
ls //列出文件
./main //运行二进制文件
使用gin框架最好引入net/http包,更好的查看运行状态
import "net/http"
热加载
所谓热加载就是当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中是非常便利的,可以快速进行代码测试,省去了每次手动重新编译。 估计哪个程序员也不喜欢每次改代码都得重新运行吧!!!
but!!但是,gin框架并没有提供热加载工具,怎么办!!! 那就得使用到第三方工具了
工具一:
C:/goProject> go get github.com/pilu/fresh
C:/goProject>freah
工具二:
C:/goProject>go get -u github.com/codegangsta/gin
C:/goProject>go run main.go