编程 写 Go 项目绕不开的 17 个库:配置、CLI、ORM、爬虫各挑一个能打的

2026-09-12 09:38:41

17 个 Go 第三方库:覆盖配置、CLI、Web、微服务与爬虫

Go 中第三方库通常称为 package。下面按使用场景列出 17 个常用 package。

配置文件处理库

1. Viper

处理 Go 应用配置,支持 JSON、TOML、YAML、HCL、.env、Java properties 等格式,可读取环境变量,并支持配置文件实时监控和重新加载,适用于 12-Factor 应用。
github.com/spf13/viper

命令行接口

2. Cobra

用于创建 Go CLI 应用,支持常规子命令、嵌套子命令和命令分组,兼容 POSIX 风格短/长参数,并能与 Viper 的配置能力集成。
github.com/spf13/cobra

环境变量

3. GoDotEnv

从 .env 文件读取变量,适合存放应用密钥;用法轻量,调用方式简单。
github.com/joho/godotenv

自动化构建

4. Task

用任务定义方式执行自动化命令,可替代部分 Makefile 场景;相比 Make 有更详细的说明性,本身无依赖,相对轻量。
taskfile.dev

动态编译

5. Air

开发 Go 项目时监听代码更新,检测到变化后自动重新编译并运行项目,适合本地开发热重载。
github.com/cosmtrek/air

Web 开发

6. Gin Web 框架

Go 中常见的 Web 开发库,提供构建 HTTP 服务和 API 所需的基础能力。
gin-gonic.com

7. Iris Web 框架

用于构建高性能 Web 应用和 API;如果用过 ExpressJS,使用体验会比较熟悉。
iris-go.com

日期管理

8. Carbon

Go 日期时间库,特点是轻量、易用,并提供语义化的日期时间调用方式。
github.com/golang-module/carbon

数据库 ORM

9. Gorm

Go ORM 库,面向 SQLite、PostgreSQL、MySQL 等关系型数据库,原文作者在 SQLite、PostgreSQL 和 MySQL 上使用过。

微服务

10. Echo

支持 RESTful API 设计的微服务/Web 框架,常用于构建 Go 微服务接口。
echo.labstack.com/guide

11. go-micro

Go 微服务框架,内置身份验证和数据存储设计,可作为同领域微服务方案使用。
github.com/go-micro/go-micro

Web 爬虫

12. Colly

Go 网页爬虫框架,适合存档和数据挖掘场景。
github.com/gocolly/colly

13、Retry

用于重试逻辑和回退控制,可扩展性高,能控制重试发生的方式和时间,也可通过实现 backoff 接口编写自定义退避函数。
github.com/sethvargo/go-retry

14、endless

用于 Go HTTP 和 HTTPS 服务器的零停机重启。
github.com/fvbock/endless

15、定时任务 cron

用于按 cron 表达式调度定时任务。
github.com/robfig/cron

其他

16. Go-Redis

Go Redis 客户端,兼容 Redis 6 和 7,设置过程简单。
github.com/go-redis/redis

17. go-elasticsearch

Elasticsearch 官方 Go 客户端。
github.com/elastic/go-elasticsearch

复制全文 生成海报 Go 第三方库 Viper Cobra Gin GORM Colly

推荐文章

程序员茄子在线接单