学习内容
- Git 常用命令
- MySQL 基础使用
- Redis 基础使用
- Golang 基础知识
- golang 微服务相关知识
- Docker 基础
- Golang 框架学习 (Gin Gorm Go-Zero)
- Golang Web 项目开发
- mq, 使用场景
- go-zero 组件
2024-08-23
[x] logic 中的数据库交互移至 DAO 层(新建 DAO 目录)
[x] gin 和 handler 封装成 gateway
2024-09-09
错误处理
dao 层应该保持简洁通用, 直接返回原生错误即可, 包装错误以及进一步的错误判断可在逻辑层实现 如果不需要用到 result 的其他字段, 则直接以。Error 的方式即可, 不需要写成 result.Error 的形式 一个可供参考的写法如下
go
func (p *usersOpr) ListUserByIds(ctx context.Context, ids []int64, scopes ...func(db *gorm.DB) *gorm.DB) ([]*model.User, error) {
var users [] *model.User
return users, p.GetSessionContext(ctx).Scopes(scopes...).Where("id IN (?)", ids).Find(&users).Error
}直接返回错误,判断不存在时判断是否为 GORM.RecordNotFound 错误
优先考虑磁盘 io 优化数据库查询
路由初始化
- [x] 通过全局变量的方式优化
- [x] main 封装 init