Gin框架系列01:极速上手

栏目: IT技术 · 发布时间: 4年前

内容简介: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 ,如果看到如下提示即成功。

Gin框架系列01:极速上手

完整代码

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/g...

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

Gin框架系列01:极速上手


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

你不知道的JavaScript(中卷)

你不知道的JavaScript(中卷)

[美] Kyle Simpson / 单业、姜南 / 人民邮电出版社 / 2016-8 / 79.00元

JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其中卷,主要介绍了类型、语法、异步和性能。一起来看看 《你不知道的JavaScript(中卷)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具