Go web 的相关知识复习
开始动手学习一些框架的基本样例,抛开学习底层的设计不谈,主要还是参考文档进行相应的组件开发。参考文档见文末
1、Beego 与 gin
首先学习框架之前,需要我们理解一个道理,学习框架的目的是首先是适应业务场景的需要,其次是有两种大类:一种是为了开发效率,另一种是为了追求运行的性能。
追求运行性能的框架包含的东西挺好,比如 GIN ,另一种追求开发效率的框架封装得非常好,即是 Beego 框架。
2、路由分组
gin 框架的路由分组为:对 router 创建 Group 即为分组,同一分组拥有同一前缀和同一中间件。其相关的写法如下:
1 |
|
路由分组的目的是:使路由更加清晰,方便管理路由
3、中间件
在请求到达路由的方法前和后进行的一系列的操作,使用中间件的时候,在路由组上进行 use 操作,后面传入中间件函数即可。中间件有概念叫做洋葱中间件,此处引用知乎博主的图:
用 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 用于删除资源