手把手教你基于gin从零搭建一个go项目

985 阅读2分钟

1、简介

Gin是Go语言写的一个开源的http框架,它具有类似martini的Api,性能要好的多,运行速度快,更好的组织路由,良好的异常捕获和错误处理,非常好的支持中间件和json,go语言的http框架的设计思路基本都差不多,学习了gin以后不管用什么框架,它的思路都大同小异。

开源地址:github.com/gin-gonic/g…

2、安装和开始

  1. 要想使用gin必须要先下载和安装它,切换到自己的工作空间,执行go命令
go get -u github.com/gin-gonic/gin

安装好后就可以直接使用了,就这么简单。

  1. 将gin引入到代码中:
import "github.com/gin-gonic/gin"
  1. 简单示例:
package main

import "github.com/gin-gonic/gin"

func main()  {
	r := gin.Default()
	r.GET("/", func(c *gin.Context) {
		c.String(200, "Hello Wold")
	})
	r.Run(":8080")   // 监听并在 0.0.0.0:8080 上启动服务
}

然后执行 go run main.go命令来运行代码:

在浏览器中访问127.0.0.1:8080

在main函数里面首先通过调用gin.Default()函数返回的是一个Engine指针,Engine代表的是整个框架的一个示例,它包含了多路复用、中间件和配置的设置,其实就是封装了我们需要的内容。一般创建Engine都是使用Default()或者New(),当然Default()本身内部也是调用的New()函数。

接着调用Engine的GET方法,这个方法两个参数,一个是相对路径,一个是多个handler,即针对用户一个请求地址,我可以指定多个handler来处理用户请求。但是一般情况下我们都是一个handler处理一个请求。

最后是r.Run(),这个方法时指定服务的主机和端口号,不过一般直接指定端口号就行了

3、项目搭建

接下来创建项目来学习gin的使用,构建项目结构如下所示:

接下来简单解释下:

  • config: 写项目的配置文件
  • service:业务层,只完成业务逻辑的开发,不进行操作数据库。
  • dao:数据库操作层,比如写,多表插入,多表查询等,不写业务代码。
  • model:数据库的ORM。
  • router:写路由配置及路由的中间件(鉴权、日志、异常捕获)
  • util:写项目通用工具类
  • pkg:第三方扩展包存放目录
  • storage:存放日志文件
  • docs:存放文档数据

demo已经提到github,地址:github.com/mwqnice/gin…

本文正在参加技术专题18期-聊聊Go语言框架