用于构建基于 Actor 的程序的库
- Ergo - Golang 的基于 Actor 的框架,具有网络透明性,灵感来自 Erlang。
- ProtoActor - 高效分布式 Actor 框架,支持 Go、C#、Java/Kotlin。
用于构建 AI 程序的库
- langchaingo - 基于语言模型开发应用的框架。
- LocalAI - 开源的 OpenAI 替代方案,可以自托管 AI 模型。
用于处理音频的库
用于实现身份认证方案的库
- authboss - 模块化身份认证系统,适合快速开发 web 应用时直接使用。
- casbin - 支持 ACL、RBAC、ABAC 的访问控制库。
- gologin - 支持 OAuth1 和 OAuth2 的身份认证处理器。
- goth - 简洁的 OAuth 和 OAuth2 处理库,支持多种身份提供商。
- jwt-go - 全功能 JSON Web Token (JWT) 实现库,支持解析、验证、生成和签名。
- keto - 开源的权限系统,基于 Google 的 Zanzibar 论文实现,支持 ACL、RBAC 等模型。
- oauth2 - 通用 OAuth 2.0 包,支持 JWT、Google API、Compute Engine 等。
- oidc - 使用简单的 OpenID Connect 客户端和服务器库,通过 OpenID 基金会认证。
- cosmos-sdk: 构建公共区块链的框架,主要用于 Cosmos 生态。
- go-ethereum: 以太坊协议的官方 Go 实现。
- tendermint: 高性能的中间件,用于将状态机转换为拜占庭容错的区块链系统。
- bot: 无依赖的 Telegram 机器人库,包含 UI 组件。
- go-chat-bot: 用于 IRC、Slack 和 Telegram 的通用聊天机器人。
- telebot: 用 Go 语言编写的 Telegram 机器人框架。
- cobra: 用于构建现代 Go 命令行应用程序的工具。
- pflag: Go 语言
flag
包的替代品,支持 POSIX/GNU 风格的命令行参数解析。 - urfave/cli: 构建命令行应用的简单且有趣的包。
- viper: 功能强大的配置管理库,支持 JSON、TOML、YAML 等多种格式。
- env: 将环境变量解析为 Go 结构体的工具,支持默认值。
- godotenv: 从
.env
文件加载环境变量的工具。
- bbolt: Go 实现的嵌入式键值数据库。
- badger: 快速的键值存储,使用 Go 语言编写。
- prometheus: 时间序列数据库与监控系统。
- go-kit: 支持服务发现、负载均衡等功能的微服务工具包。
- go-zero: 提供稳定性保障的 Web 和 RPC 框架,集成了代码生成工具
goctl
。 - rpcx: 类似于 Dubbo 的分布式可插拔 RPC 框架。
- fyne - 基于Material Design的跨平台GUI库,支持Linux、macOS、Windows、BSD、iOS和Android。
- gio - 即时模式的跨平台GUI库,支持主要平台:Linux、macOS、Windows、Android、iOS等。
- gotk3 - GTK3的Go语言绑定。
- qt - Go语言的Qt绑定,支持多个平台:Windows、macOS、Linux等。
- Wails - 利用系统自带的HTML渲染器开发Mac、Windows和Linux桌面应用。
- webview - 简单的跨平台Webview,适用于Windows、macOS、Linux。
- golang-standards/project-layout - Go语言项目的常见结构模板,适合新项目参考。
- modern-go-application - 应用现代开发实践的Go项目模板。
- gobeam/Stringy - 支持字符串的驼峰、蛇形、短横线转换等操作。
- strutil - 字符串工具库。
- xstrings - 提供其他语言中的常用字符串操作方法。
- whatlanggo - 支持84种语言的自然语言检测包。
- go-stem - 词干提取库,支持Porter算法。
常用的Go语言模板引擎库。
- goview - 基于 Go 的轻量级、简洁的模板库,适用于构建 Go Web 应用程序。
- pongo2 - 类似 Django 的模板引擎,功能强大且易于使用。
- jet - 强大的模板引擎,提供良好的性能和模板继承支持。
- quicktemplate - 高效的模板引擎,将模板转换为 Go 代码后编译。
用于测试代码库和生成测试数据的常用工具库。
- Testify - 常用的 Go 测试扩展库,提供断言和 mock 支持。
- GoConvey - BDD 风格测试框架,带有 Web UI 和实时刷新功能。
- ginkgo - 适用于 Go 的 BDD 测试框架。
- gomock - Go 语言的常用 mock 框架,用于生成模拟接口的对象。
- go-sqlmock - Mock SQL 驱动程序,用于测试数据库交互。
- go-fuzz - 随机化测试工具,用于找出边界条件和潜在问题。
- chromedp - Chrome Debugging Protocol 的 Go 绑定,用于控制浏览器进行自动化测试。
用于解析和操作文本的常用库。
- go-humanize - 将时间、数字和内存大小格式化为可读形式。
- gotabulate - 方便地将表格数据美观地打印出来。
- goldmark - 现代的 Markdown 解析器,符合 CommonMark 标准,易于扩展。
- html-to-markdown - 将 HTML 转换为 Markdown 的工具。
用于访问各种第三方服务 API 的库。
- aws-sdk-go - 官方 AWS SDK for Go,支持访问 AWS 的所有服务。
- discordgo - 适用于 Discord 聊天 API 的 Go 绑定。
- go-openai - OpenAI 的 ChatGPT、DALL·E、Whisper API 库。
- slack - Slack API 的 Go 客户端。
- github - 访问 GitHub REST API v3 的 Go 库。
- google-cloud - Google Cloud API 的 Go 客户端库。
以下是简化后的常用工具、库和框架列表,更加贴近**用户的需求,去掉了小众和过时内容,并以Markdown格式展示:
使开发更高效的通用工具和库。
- clipboard - 跨平台剪贴板工具包。
- cvt - 安全、方便地将任意值转换为其他类型。
- delve - Go语言调试器。
- dive - 用于探索Docker镜像中每一层的工具。
- fzf - Go编写的命令行模糊查找工具。
- goreleaser - 快速生成Go二进制文件发布工具。
- gotenv - 从
.env
文件中加载环境变量。 - lo - 类似 Lodash 的 Go 语言工具库,基于 Go 1.18+ 泛型实现。
- sqlx - 为标准
database/sql
包增加了扩展功能。
用于生成唯一标识符的库。
数据验证库。
- govalidator - 字符串、数值、切片和结构体的验证和过滤器。
- validator - Go结构体和字段验证,支持交叉字段、交叉结构体、Map、Slice和数组。
全栈Web框架。
- Beego - 高性能的开源Go Web框架。
- Echo - 高性能、简洁的Go Web框架。
- Fiber - 类似Express.js的Web框架,基于
fasthttp
实现。 - Gin - 高性能、简洁的Go Web框架。
- Goravel - 受Laravel启发的Go Web框架,内置ORM、认证、队列等功能。
- chi - 小巧、快速且表现力丰富的HTTP路由库。
- httprouter - 高性能HTTP路由库。
- mux - 功能强大的URL路由和调度器。
源代码分析工具。
- golangci-lint - 快速的Go静态分析工具,支持多种linters。
- staticcheck - 类似
go vet
的静态分析工具,包含多种检查。
提高开发效率的Go语言相关工具。
- go-callvis - 使用dot格式可视化Go程序的调用图。
- go-swagger - Swagger 2.0的Go实现,用于自动化生成REST API文档。
- richgo - 美化
go test
输出结果。 - gotestdox - 将Go测试结果展示为可读的句子。
Go编写的软件。
- Docker - 为开发人员和系统管理员提供的分布式应用程序开源平台。
- Flannel - Kubernetes 容器网络工具。
- Gitea - Gogs的社区分支,轻量级的Git服务。
- Hey - 一个小型的程序,用于向Web应用程序发送负载。
- k3s - 轻量级Kubernetes。
- k6 - 现代化的负载测试工具,使用Go和JavaScript编写。
- minikube - 在本地运行Kubernetes。
- Traefik - 反向代理和负载均衡器,支持多种后端。
- Go 101 - 一本聚焦Go语言语法和语义的书籍。
- Build Web Application with Golang - 使用Golang构建Web应用的教程。
- The Go Programming Language - Go语言编程书籍。
- r/golang - Go语言的新闻和讨论社区。
- Go Blog - 官方Go博客。
- Go Projects - Go社区项目列表。
- pkg.go.dev - 开源Go包的文档。
- Uber Go 语言编码指南 - Uber的Go语言编码风格指南。