Go项目 工具栈选型
仅初步罗列,待完善
参考:
https://www.reddit.com/r/golang/comments/1qo52bt/returning_to_go_after_5_years_checking_my_tool/
代码检查
go vetgoimports- 🌟
golangci-lint
测试
- 简易:自带的
test - 更完善:
testify
构建
just可以替代make\TODOair动态重载
数据库
- 自带的
database/sql GORM让简易SQL更简易- 复杂SQL不要用ORM写,而是用raw SQL
- 时间久了会忘记方法对应的SQL是什么...
sqlc\TODOgooseSQL迁移
HTTP
- 自带的
net/http没有路由功能
框架
Gin重量级框架- 大佬不喜欢Gin:https://eblog.fly.dev/ginbad.html
EchoFiberChi轻量级框架,适用微服务
发起请求
resty发起请求
页面
templ- build HTML with Go
日志
Zerolog- 自带的(1.21引入)
slog logrusuber/Zap
序列化
- protobuf
json
- 自带的
json最新版本有较大提升 bytedance/sonic
其他杂项
- go-cmp 复杂对象比较差异
浙公网安备 33010602011771号