Skip to content

学习内容

  • 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