golang很多web框架如beego echo 还有gin。 之前公司听同事说后面他们的项目使用gin去重构代码,顺带自己在学golang, 与其纠结选择学习哪个框架,既然公司有人在用,那他们应该是做了一些调查和分析决定的,所以就挑了gin。其实只要掌握一门web框架,其他框架学习起来上手也很快了。gin框架个人觉得上手是比较快, 个人喜欢前后端分离,所以gin专门用来写api接口即可, 不需要掺杂混合前端。框架组合比较随意,官方也没有提供脚手架, 自己根据需求搭脚手架就好了,比较灵活。
推荐使用mysql扩展: sqlx 来操作mysql数据库,比较方便,容易上手。
推荐使用goose数据库迁移脚本工具: goose 使用这个的原因是,跟之前写PHP项目使用的phinx风格很像,所以就选择了它。
但是和php不一样的是,phinx是把sql语句转化为php代码之后执行。 虽然goose也支持go文件去实现迁移,但是本质上go代码里面也是执行了sql语句,没有封装特定的go转换sql的写法。所以直接使用 goose create create_table_xxx sql 创建sql文件用来迁移就好了。
推荐使用yaml作为配置文件,yaml解析: yaml
附上学习笔记: