[Golang实战] 带你入手gin框架使用,以项目为例
![[Golang实战] 带你入手gin框架使用,以项目为例](http://pic.ttrar.cn/nice/%5bGolang%e5%ae%9e%e6%88%98%5d%e5%b8%a6.jpg)
😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘
🤗专栏:算法学习
🤗专栏:Go实战
💬个人主页:个人主页

文章目录
- gin框架是什么?
-
- 介绍:
- 特点适用
- 快速上手gin框架
- 常用示例演示:
-
- 加载网页静态资源
- 路由组
- 内容渲染
- 中间件的使用
gin框架是什么?
介绍:
Gin 是一个用 Go (Golang) 编写的 web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架,由于 httprouter,速度提高了近 40 倍。
特点适用
- 中间件的使用
- json验证
- 路由组
- 内容渲染
- 错误管理
- Crash处理
- 快速
快速上手gin框架
终端引入依赖包:
go get -u github.com/gin-gonic/gin
搭建引擎:
r := gin.Default() //这种写法内部已经定义了日志和恢复中间件,可以点进去看源码
或者
r := gin.New() // 这种内部无自定义中间件
常用示例演示:
加载网页静态资源
方法:
r.LoadHTMLGlob(pattern string)//加载静态页面
r.Static(relativePath, root string) //加载css,js等资源
示例:
我要加载templates包内的html页面和static包下的静态资源,适用gin框架,我们需要把路径写对,程序会自动寻找到静态资源并加载。
![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/9ef4b9dce8f749ca9bdbc891a552e880.png)
示例代码:
![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/5d25a23371bc4c3eb3d95692750354c0.png)
路由组
路由组请求有五种类型:在restful格式中一般是这样认为的:
get() 获得数据
post() 新建
delete() 删除
put() 修改
![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/37dbfb66f75849188c6cbd5a303eb641.png)
使用例子:
Tick.GET(relativePath string, handlers …HandlerFunc)
Tick.POST(relativePath string, handlers …HandlerFunc)
以投票为例:
通过r.Group(“路径”){},可以构建一个路由组,并且通过GET和POST分别请求,细节可以参考图中示例,写的很详细了,
![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/82f9d31e03ea48be8d2fdb00762b15e3.png)
内容渲染
gin中可以使用c.HTML() 和 c.JSON()以json形式传给前端页面进行渲染
![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/e092c98f5c9a4be581fa94938427c864.png)
前端页面通过一个循环,来接收后端传来的数据,进行渲染到页面上
![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/46c77abfc4b4491cb97618ce475da430.png)
效果图展示:
![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/f85f0c5e858044ae91143ee34356141b.png)
中间件的使用
gin框架引入中间件的使用,
项目中实际操作:例如引入gin框架中redis,
![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/0cfbe8f3cb9c4d82b8bb787a08e811e3.png)

![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/3ddeb1e158624678b9ee23e7182eb8c1.png)
![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/ddfdd336c81b42aea5bd4e86a1dab618.png)

