这是我参与「第三届青训营 -后端场」笔记创作活动的的第3篇笔记。
借着训练营的机会,我也是开启了Go语言的学习。相对于Java,Go的学习资料会比较少,网上分享的技术知识少且旧,项目过程遇到问题后,在网上找解决方案没那么容易解决。例如开发训练营项目过程中,我搭建起基于GIN的web架构后,准备把数据传入数据库,在网上查gorm的使用方式时,网上很多博主都是引入了"github.com/jinzhu/gorm” ,在这个包中有一个gorm.model,其中包含了两个time.Time类型的字段,现阶段如果对象字段包含了gorm.model的话,存MySQL时会显示一个时间字段相关的错误,尝试了网上几种修改数据库配置的方式都出错了,于是想到之前训练营上课的老师,去了gorm的官网根据最新的配置试了一次,将导入的包替换成"gorm.io/driver/mysql"和"gorm.io/gorm" ,替换后就解决了问题,同时也发现数据库的初始化也比之前简单一点。 其他的数据库的资料就更少了,总体上来看目前go的生态环境还需要大家一起贡献力量,产出技术心得才能携手并进。 在搭web项目的时候,由于Go也是有对象(结构体)的概念,所以总体上我还是按着以前用Java开发时的思路在搭的。
gin框架也确实好用,在接收http请求的时候,处理请求之前可以直接把中间件处理写入到请求处理的函数参数之中,非常方便。gin的中间件就是一个函数,返回gin.handlerfunc()。gin框架几乎把web后端开发需要的功能都集成了,调用起来非常的方便,能够极大加快快发效率。 go重要有一个模板渲染的知识点,其实就是前端,现在前后端分离,在学习时不用太深入,一般都是前端负责这一块,做个基本的了解就好。