ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Go项目 工具栈选型

Go项目 工具栈选型

仅初步罗列,待完善

参考:
https://www.reddit.com/r/golang/comments/1qo52bt/returning_to_go_after_5_years_checking_my_tool/

代码检查

  • go vet
  • goimports
  • 🌟 golangci-lint

测试

  • 简易:自带的test
  • 更完善:testify

构建

  • just \TODO

数据库

  • 自带的database/sql
  • GORM 让简易SQL更简易
    • 复杂SQL不要用ORM写,而是用raw SQL
    • 时间久了会忘记方法对应的SQL是什么...
  • sqlc \TODO

HTTP

  • 自带的net/http
  • Gin 重量级
    • 大佬不喜欢Gin:https://eblog.fly.dev/ginbad.html
  • 🌟Chi 轻量级,大多数项目够用

日志

  • 自带的(1.21引入)slog
    • 将日志系统迁移至sloghttps://www.reddit.com/r/golang/comments/1l8xzos/any_tips_on_migrating_from_logrus_slog/
  • logrus
  • uber/Zap

序列化

  • protobuf

json

  • 自带的json 最新版本有较大提升
  • bytedance/sonic
返回列表