Gin框架系列01:极速上手
程序员文章站
2022-06-15 12:29:45
Gin是什么? Gin是Go语言编写的web框架,具备中间件、崩溃处理、JSON验证、内置渲染等多种功能。 准备工作 本系列演示所有代码都在Github中,感兴趣的同学可以自行查阅,欢迎大家一起完善。 没有安装配置Go语言环境的同学请先自行安装,这里不再赘述。首先,我们来创建工作目录 。 然后用 命 ......
gin是什么?
gin是go语言编写的web框架,具备中间件、崩溃处理、json验证、内置渲染等多种功能。
准备工作
本系列演示所有代码都在github中,感兴趣的同学可以自行查阅,欢迎大家一起完善。
https://github.com/pingyeaa/golang-examples/tree/master/gin
没有安装配置go语言环境的同学请先自行安装,这里不再赘述。首先,我们来创建工作目录gin
。
mkdir gin && cd gin
然后用go mod
命令初始化项目,go mod
是go语言的包管理工具,官方推荐使用,有了它就不再受gopath的限制,可以在任何目录初始化项目。
go mod init gin
接下来安装gin
库。
go get -u github.com/gin-gonic/gin
创建演示代码的入口文件main.go
,当前项目结构大致如下。
. ├── go.mod ├── go.sum └── main.go
编写代码
工作准备就绪之后,来开始今天的代码编写,以经典代码hello word
为例。
实例化一个gin对象
r := gin.default()
default方法的主要作用是实例化一个带有日志、故障恢复中间件的引擎。
func default() *engine { debugprintwarningdefault() engine := new() engine.use(logger(), recovery()) return engine }
定义请求
定义一个get请求的路由,参数一是路由地址,也就是在浏览器访问的相对路径,参数二是一个匿名函数,函数内部用于业务逻辑处理。
r.get("/hello", func(c *gin.context) { })
我们就在函数内调用json方法返回数据。json的操作非常简单,参数一是状态码,参数二是json的内容。
r.get("/hello", func(c *gin.context) { c.json(200, gin.h{ "msg": "hello world!", }) })
json内容可以通过gin提供的h方法来构建,非常方便。
// h is a shortcut for map[string]interface{} type h map[string]interface{}
运行
run方法最终会调用内置http
库的listenandserve
方法来监听端口,如果不传参数默认监听80端口,也可以通过参数来变更地址和端口。
r.run(":8081")
测试
在浏览器访问localhost:8081
,如果看到如下提示即成功。
完整代码
package main import "github.com/gin-gonic/gin" func main() { r := gin.default() r.get("/ping", func(c *gin.context) { c.json(200, gin.h{ "msg": "hello world!", }) }) r.run(":8081") }
go语言库代码示例,欢迎star
感谢大家的观看,如果觉得文章对你有所帮助,欢迎关注公众号「平也」,聚焦go语言与技术原理。
上一篇: PHP面向对象的相关概念
下一篇: Datatables表格的使用