Go web 的相关知识复习

开始动手学习一些框架的基本样例,抛开学习底层的设计不谈,主要还是参考文档进行相应的组件开发。参考文档见文末

1、Beego 与 gin

​ 首先学习框架之前,需要我们理解一个道理,学习框架的目的是首先是适应业务场景的需要,其次是有两种大类:一种是为了开发效率,另一种是为了追求运行的性能。

​ 追求运行性能的框架包含的东西挺好,比如 GIN ,另一种追求开发效率的框架封装得非常好,即是 Beego 框架。

2、路由分组

​ gin 框架的路由分组为:对 router 创建 Group 即为分组,同一分组拥有同一前缀和同一中间件。其相关的写法如下:

1
2
3
4
5
6
7
8
r := gin.Default()

v1 := r.Group("v1")
{
v1.POST("/login", login)
v1.POST("/submit", func)
v1.POST("/read", func)
}

路由分组的目的是:使路由更加清晰,方便管理路由

3、中间件

​ 在请求到达路由的方法前和后进行的一系列的操作,使用中间件的时候,在路由组上进行 use 操作,后面传入中间件函数即可。中间件有概念叫做洋葱中间件,此处引用知乎博主的图:

gin

用 Go 语言写的还有以下的相关中间件

日志: 一般日志使用其他的工具:如 go-logging、logrus 等开源库。以及配合相应的日志切割工具去使用。

Gorm: orm 为是一种数据库操作辅助工具。Gorm 即是在 go 语言结构体和数据库产生映射,使得数据库关系、表内容可以直观的体现在结构体上。即可使用结构体完成增删改查的操作!至于 Gorm 如何使用,可以参考相应的详细文档,简单的增删改查可以使用 Gorm。设计复杂的结构以及优化操作,建议阅读 MYSQL 性能调优,阅读相应的例子进行优化。

4、框架的学习

​快速掌握代码库中的库函数,最适合的学习方法为:先读库函数 -> 再读相应的结构体定义 -> 最后读相应的结构体绑定的方法。

​其中前两部分只需要执行 go doc 命令即可查看相应的函数与结构体,而第三部分需要仔细阅读相应的源码。记录学习的过程,建议使用思维导图,最后导入 markdown 文件中。

5、Restful 风格

其中 restful 主要是四种方式 GET、POST、PUT、DELETE

GET 用于获取资源

POST 用于创建资源

PUT 用于修改资源

DELETE 用于删除资源


参考文档

https://www.kancloud.cn/shuangdeyu/gin_book/949415

https://gorm.io/zh_CN/docs/


Go web 的相关知识复习
https://chaggle.github.io/2022/02/22/go/basic/gin/
作者
chaggle
发布于
2022年2月22日
许可协议