使用go进行web开发,前期经过一些选型,最终决定使用gin这个框架来做开发,gin和flask这类框架很像,一个文件就能起一个服务,但是当项目变得庞大复杂,一个文件是很难维护的,通常我们需要将其拆分为多个目录来存放代码,根据自己的需求实现各种mvc之类的模式。
pink-lady是根据我个人习惯整理而成的代码结构。开发时主要可以总结为ASM(apis services models)模式,开发时只需要关注这三个地方,主要流程是在apis中配置路由routes,编写路由处理方法,处理方法细分为apis接入层和可复用的services层,models定义db数据表结构。
pink-l
......Golang中使用gorm时,通过加入gorm.Model到自己的struct来定义一个model。
Gorm是这样定义[Model](https://github.com/jinzhu/gorm/blob/master/model.go#L9)的:
:::go
type Model struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `s