从未让我们失望的 Go 库:你需要知道的 22 个库

主要观点:创建了一个包含最佳和经过实战检验的 Go 库的推荐列表,基于团队经验推荐不同项目适用的工具,包括 HTTP、替代通信类型、数据库、可观测性、配置、构建 CLI、测试、杂项和有用工具等方面,还提供了示例项目,并强调该列表是主观的,会不断更新。
关键信息:

  • HTTP 推荐 Echo 和 chi 路由器,Echo 自定义请求处理签名方便写无错 HTTP 处理程序,chi 处理函数与标准库兼容且路由定义格式更好,还推荐了相关中间件、静态内容服务、OpenAPI 生成工具等。
  • 替代通信类型中推荐 gRPC 的 protoc 工具和 Watermill 消息库。
  • 数据库方面推荐 sqlx 用于简单数据模型,SQLBoiler 用于复杂数据模型,以及 sql-migrate 和 goose 进行数据库迁移。
  • 可观测性推荐 Logrus 和 zap 日志库、opencensus-go 进行指标和追踪。
  • 配置推荐 caarlos0/env 库用于环境变量配置、koanf 库用于多格式配置。
  • 测试推荐 testify 断言库、go-cmp 比较库、gofakeit 生成测试数据库,不推荐 testify 的测试套件。
  • 杂项推荐 google/uuid、oklog/ulid、shopspring/decimal 库,以及 hashicorp/go-multierror 处理错误。
  • 有用工具推荐 samber/lo 库、Task 工具、reflex 进行代码热重载、golangci-lint 和 go-cleanarch 进行代码检查和架构维护。
  • 示例项目包括 Wild Workouts Go DDD 示例应用和 Modern Go Application。
    重要细节:每个推荐的库或工具都有详细的使用示例、优缺点及注意事项,如性能权衡、避免反模式等。列表会根据时间不断更新,欢迎用户提供建议。
阅读 18
0 条评论