Gin框架系列01:极速上手

Gin是什么?

Gin是Go语言编写的web框架,具备中间件、崩溃处理、JSON验证、内置渲染等多种功能。

准备工作

本系列演示所有代码都在Github中,感兴趣的同学可以自行查阅,欢迎大家一起完善。

<code>

https:

/

/github.com/pingyeaa

/golang-examples/tree

/master/gin

/<code>

没有安装配置Go语言环境的同学请先自行安装,这里不再赘述。首先,我们来创建工作目录gin。

<code>mkdir gin && 

cd

gin/<code>

然后用go mod命令初始化项目,go mod是Go语言的包管理工具,官方推荐使用,有了它就不再受GOPATH的限制,可以在任何目录初始化项目。

<code>

go

mod init gin/<code>

接下来安装gin库。

<code>go 

get

-u github.com/gin-gonic/gin/<code>

创建演示代码的入口文件main.go,当前项目结构大致如下。

<code>.
├── 

go

.mod

├──

go

.sum

└──

main

.go

/<code>

编写代码

工作准备就绪之后,来开始今天的代码编写,以经典代码hello word为例。

实例化一个gin对象

<code>r := gin.Default()/<code>

Default方法的主要作用是实例化一个带有日志、故障恢复中间件的引擎。

<code>

func

Default

()

*

Engine

{ debugPrintWARNINGDefault() engine := New() engine.Use(Logger(), Recovery())

return

engine }/<code>

定义请求

定义一个GET请求的路由,参数一是路由地址,也就是在浏览器访问的相对路径,参数二是一个匿名函数,函数内部用于业务逻辑处理。

<code>r.

GET

(

"/hello"

,

func

(

c

*gin.Context)

{ })/<code>

我们就在函数内调用JSON方法返回数据。JSON的操作非常简单,参数一是状态码,参数二是JSON的内容。

<code>r.

GET

(

"/hello"

,

func

(

c

*gin.Context)

{

c

.

JSON

(

200

, gin.

H

{

"msg"

:

"Hello world!"

, }) })/<code>

JSON内容可以通过gin提供的H方法来构建,非常方便。

<code> 

type

H

map

[

string

]

interface

{}/<code>

运行

Run方法最终会调用内置http库的ListenAndServe方法来监听端口,如果不传参数默认监听80端口,也可以通过参数来变更地址和端口。

<code>

r

.Run

("

:8081")

/<code>

测试

在浏览器访问localhost:8081,如果看到如下提示即成功。

Gin框架系列01:极速上手

完整代码

<code>

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"

) }/<code>

Go语言库代码示例,欢迎star https://github.com/pingyeaa/golang-examples

感谢大家的观看,如果觉得文章对你有所帮助,欢迎关注公众号「平也」,聚焦Go语言与技术原理。

Gin框架系列01:极速上手


分享到:


相關文章: