亲宝软件园·资讯

展开

Gin框架系列01:极速上手

平也 人气:0
## Gin是什么? Gin是Go语言编写的web框架,具备中间件、崩溃处理、JSON验证、内置渲染等多种功能。 ## 准备工作 本系列演示所有代码都在Github中,感兴趣的同学可以自行查阅,欢迎大家一起完善。 ```shell https://github.com/pingyeaa/golang-examples/tree/master/gin ``` 没有安装配置Go语言环境的同学请先自行安装,这里不再赘述。首先,我们来创建工作目录`gin`。 ```shell mkdir gin && cd gin ``` 然后用`go mod`命令初始化项目,`go mod`是Go语言的包管理工具,官方推荐使用,有了它就不再受GOPATH的限制,可以在任何目录初始化项目。 ```shell go mod init gin ``` 接下来安装`gin`库。 ```shell go get -u github.com/gin-gonic/gin ``` 创建演示代码的入口文件`main.go`,当前项目结构大致如下。 ```shell . ├── go.mod ├── go.sum └── main.go ``` ## 编写代码 工作准备就绪之后,来开始今天的代码编写,以经典代码`hello word`为例。 ### 实例化一个gin对象 ```go r := gin.Default() ``` Default方法的主要作用是实例化一个带有日志、故障恢复中间件的引擎。 ```go func Default() *Engine { debugPrintWARNINGDefault() engine := New() engine.Use(Logger(), Recovery()) return engine } ``` ### 定义请求 定义一个GET请求的路由,参数一是路由地址,也就是在浏览器访问的相对路径,参数二是一个匿名函数,函数内部用于业务逻辑处理。 ```go r.GET("/hello", func(c *gin.Context) { }) ``` 我们就在函数内调用JSON方法返回数据。JSON的操作非常简单,参数一是状态码,参数二是JSON的内容。 ```go r.GET("/hello", func(c *gin.Context) { c.JSON(200, gin.H{ "msg": "Hello world!", }) }) ``` JSON内容可以通过gin提供的H方法来构建,非常方便。 ```go // H is a shortcut for map[string]interface{} type H map[string]interface{} ``` ### 运行 Run方法最终会调用内置`http`库的`ListenAndServe`方法来监听端口,如果不传参数默认监听80端口,也可以通过参数来变更地址和端口。 ```go r.Run(":8081") ``` ### 测试 在浏览器访问`localhost:8081`,如果看到如下提示即成功。 ![file](https://img2020.cnblogs.com/other/1471773/202004/1471773-20200406175746824-1822938347.jpg) ### 完整代码 ```go 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 https://github.com/pingyeaa/golang-examples --- 感谢大家的观看,如果觉得文章对你有所帮助,欢迎关注公众号「平也」,聚焦Go语言与技术原理。 ![关注我](https://img2020.cnblogs.com/other/1471773/202004/1471773-20200406175747590-1585320745.png)

加载全部内容

相关教程
猜你喜欢
用户评论