avelino/awesome-go
GitHub: avelino/awesome-go
精选的 Go 语言框架、库和软件资源清单,帮助开发者快速发现和选择合适的 Go 生态组件。
Stars: 167000 | Forks: 13034
# Awesome Go
[](https://github.com/avelino/awesome-go/actions/workflows/tests.yaml?query=branch%3Amain)
[](https://github.com/sindresorhus/awesome)
[](https://gophers.slack.com/messages/awesome)
[](https://app.netlify.com/sites/awesome-go/deploys)
[](https://www.trackawesomelist.com/avelino/awesome-go/)
[](https://github.com/avelino/awesome-go/commits/main)
我们使用 _[Golang Bridge](https://github.com/gobridge/about-us/blob/master/README.md)_ 社区 Slack 进行即时交流,请点击[此处填写表单加入](https://invite.slack.golangbridge.org/)。
## 目录
## Actor Model
_用于构建基于 Actor 的程序的库。_
- [asyncmachine-go/pkg/machine](https://github.com/pancsta/asyncmachine-go/tree/main/pkg/machine) - 图控制流库 (AOP, actor, state-machine)。
- [Ergo](https://github.com/ergo-services/ergo) - 一个基于 Actor 的框架,具有网络透明性,用于在 Golang 中创建事件驱动架构。受 Erlang 启发。
- [Goakt](https://github.com/Tochemey/goakt) - 使用 protocol buffers 作为消息的快速分布式 Actor 框架,专为 Golang 设计。
- [Hollywood](https://github.com/anthdm/hollywood) - 用 Golang 编写的极快且轻量级的 Actor 引擎。
- [ProtoActor](https://github.com/asynkron/protoactor-go) - 适用于 Go, C#, 和 Java/Kotlin 的分布式 Actor。
**[⬆ 返回顶部](#contents)**
## 人工智能
_用于构建利用 AI 的程序的库。_
- [chromem-go](https://github.com/philippgille/chromem-go) - Go 的可嵌入向量数据库,具有类似 Chroma 的接口且零第三方依赖。内存存储,可选持久化。
- [fun](https://gitlab.com/tozd/go/fun) - 在 Go 中使用大型语言模型 (LLM) 最简单但强大的方式。
- [hotplex](https://github.com/hrygo/hotplex) - AI Agent 运行时引擎,为 Claude Code, OpenCode, pi-mono 和其他 CLI AI 工具提供长会话支持。提供全双工流、多平台集成和安全沙箱。
- [langchaingo](https://github.com/tmc/langchaingo) - LangChainGo 是一个用于开发由语言模型驱动的应用程序的框架。
- [langgraphgo](https://github.com/smallnest/langgraphgo) - 一个用于构建有状态、多 Actor 应用程序的 Go 库,基于 LangGraph 概念构建,内置大量 Agent 架构。
- [LocalAI](https://github.com/mudler/LocalAI) - 开源 OpenAI 替代品,自托管 AI 模型。
- [Ollama](https://github.com/jmorganca/ollama) - 本地运行大型语言模型。
- [OllamaFarm](https://github.com/presbrey/ollamafarm) - 管理、负载均衡和故障转移 Ollama 组。
**[⬆ 返回顶部](#contents)**
## 音频与音乐
_用于操作音频和音乐的库。_
- [beep](https://github.com/gopxl/beep) - 一个简单的播放和音频操作库。
- [flac](https://github.com/mewkiz/flac) - 原生 Go FLAC 编码器/解码器,支持 FLAC 流。
- [gaad](https://github.com/Comcast/gaad) - 原生 Go AAC 比特流解析器。
- [go-mpris](https://github.com/leberKleber/go-mpris) - mpris dbus 接口的客户端。
- [GoAudio](https://github.com/DylanMeeus/GoAudio) - 原生 Go 音频处理库。
- [gosamplerate](https://github.com/dh1tw/gosamplerate) - libsamplerate 的 Go 绑定。
- [id3v2](https://github.com/bogem/id3v2) - Go 的 ID3 解码和编码库。
- [malgo](https://github.com/gen2brain/malgo) - 迷你音频库。
- [minimp3](https://github.com/tosone/minimp3) - 轻量级 MP3 解码器库。
- [music-theory](https://github.com/go-music-theory/music-theory) - Go 中的乐理模型。
- [Oto](https://github.com/hajimehoshi/oto) - 一个在多平台上播放声音的低级库。
- [PortAudio](https://github.com/gordonklaus/portaudio) - PortAudio 音频 I/O 库的 Go 绑定。
**[⬆ 返回顶部](#contents)**
## 认证与授权
_用于实现认证和授权的库。_
- [authboss](https://github.com/volatiletech/authboss) - 模块化的 Web 认系统。它试图尽可能消除样板代码和“难题”,这样每次你在 Go 中开始一个新的 Web 项目时,都可以插入它,进行配置,并开始构建你的应用程序,而无需每次都构建认证系统。
- [authgate](https://github.com/go-authgate/authgate) - 一个轻量级的 OAuth 2.0 授权服务器,支持设备授权授予 ([RFC 8628](https://datatracker.ietf.org/doc/html/rfc8628))、带 PKCE 的授权码流程 ([RFC 6749](https://datatracker.ietf.org/doc/html/rfc6749) + [RFC 7636](https://datatracker.ietf.org/doc/html/rfc7636)),以及用于机器对机器认证的客户端凭证授予。
- [branca](https://github.com/essentialkaos/branca) - Golang 1.15+ 的 branca token [规范实现](https://github.com/tuupola/branca-spec)。
- [casbin](https://github.com/hsluoyz/casbin) - 支持访问控制模型(如 ACL, RBAC, 和 ABAC)的授权库。
- [cookiestxt](https://github.com/mengzhuo/cookiestxt) - 提供 cookies.txt 文件格式的解析器。
- [go-githubauth](https://github.com/jferrl/go-githubauth) - GitHub 认证工具:生成和使用 GitHub 应用程序和安装 token。
- [go-guardian](https://github.com/shaj13/go-guardian) - Go-Guardian 是一个 Golang 库,提供了一种简单、干净且符合习惯的方式来创建强大的现代 API 和 Web 认证,支持 LDAP, Basic, Bearer token, 和基于证书的认证。
- [go-iam](https://github.com/melvinodsa/go-iam) - 开发者优先的身份和访问管理系统,带有简单的 UI。
- [go-jose](https://github.com/go-jose/go-jose) - JOSE 工作组的 JSON Web Token, JSON Web Signatures, 和 JSON Web Encryption 规范的相当完整的实现。
- [go-jwt](https://github.com/deatil/go-jwt) - Go 的 JWT (JSON Web Token) 库。
- [go-jwt](https://github.com/pardnchiu/go-jwt) - JWT 认证包,提供访问 token 和刷新 token,支持指纹识别、Redis 存储和自动刷新功能。
- [goiabada](https://github.com/leodip/goiabada) - 一个开源的认证和授权服务器,支持 OAuth2 和 OpenID Connect。
- [gologin](https://github.com/dghubble/gologin) - 用于通过 OAuth1 和 OAuth2 认证提供程序登录的可链式处理器。
- [gorbac](https://github.com/mikespook/gorbac) - 在 Golang 中提供轻量级的基于角色的访问控制 (RBAC) 实现。
- [gosession](https://github.com/Kwynto/gosession) - 这是 GoLang 中 net/http 的快速会话。这个包可能是会话机制的最佳实现,或者至少它试图成为一个。
- [goth](https://github.com/markbates/goth) - 提供一种简单、干净且符合习惯的方式来使用 OAuth 和 OAuth2。开箱即处理多个提供程序。
- [jeff](https://github.com/abraithwaite/jeff) - 简单、灵活、安全且符合习惯的 Web 会话管理,带有可插拔的后端。
- [jwt](https://github.com/pascaldekloe/jwt) - 轻量级 JSON Web Token (JWT) 库。
- [jwt](https://github.com/cristalhq/jwt) - 安全、简单且快速的 Go JSON Web Tokens。
- [jwt-auth](https://github.com/adam-hanna/jwt-auth) - Golang http 服务器的 JWT 中间件,具有许多配置选项。
- [jwt-go](https://github.com/golang-jwt/jwt) - 功能齐全的 JSON Web Tokens (JWT) 实现。该库支持 JWT 的解析和验证以及生成和签名。
- [jwx](https://github.com/lestrrat-go/jwx) - 实现各种 JWx (JWA/JWE/JWK/JWS/JWT,也称为 JOSE) 技术的 Go 模块。
- [keto](https://github.com/ory/keto) - "Zanzibar: Google's Consistent, Global Authorization System" 的开源 实现提供 gRPC, REST APIs, newSQL, 以及简单且细粒度的权限语言。支持 ACL, RBAC, 和其他访问模型。
- [loginsrv](https://github.com/tarent/loginsrv) - JWT 登录微服务,带有可插拔的后端,如 OAuth2 (Github), htpasswd, osiam。
- [oauth2](https://github.com/golang/oauth2) - goauth2 的继任者。通用 OAuth 2.0 包,附带 JWT, Google APIs, Compute Engine, 和 App Engine 支持。
- [oidc](https://github.com/zitadel/oidc) - 易于使用的 OpenID Connect 客户端和服务器库,专为 Go 编写并由 OpenID Foundation 认证。
- [openfga](https://github.com/openfga/openfga) - 基于 "Zanzibar: Google's Consistent, Global Authorization System" 论文的细粒度授权实现。由 [CNCF](https://www.cncf.io/) 支持。
- [osin](https://github.com/openshift/osin) - Golang OAuth2 服务器库。
- [otpgen](https://github.com/grijul/otpgen) - 用于生成 TOTP/HOTP 代码的库。
- [otpgo](https://github.com/jltorresm/otpgo) - Go 的基于时间的一次性密码 (TOTP) 和基于 HMAC 的一次性密码 (HOTP) 库。
- [paseto](https://github.com/o1egl/paseto) - Platform-Agnostic Security Tokens (PASETO) 的 Golang 实现。
- [permissions](https://github.com/xyproto/permissions) - 用于跟踪用户、登录状态和权限的库。使用安全 cookie 和 bcrypt。
- [scope](https://github.com/SonicRoshan/scope) - 在 Go 中轻松管理 OAuth2 Scopes。
- [scs](https://github.com/alexedwards/scs) - HTTP 服务器的会话管理器。
- [securecookie](https://github.com/chmike/securecookie) - 高效的安全 cookie 编码/解码。
- [session](https://github.com/icza/session) - Web 服务器的 Go 会话管理(包括对 Google App Engine - GAE 的支持)。
- [sessions](https://github.com/adam-hanna/sessions) - 极其简单、高性能、高度可定制的 Go http 服务器会话服务。
- [sessionup](https://github.com/swithek/sessionup) - 简单而有效的 HTTP 会话管理和识别包。
- [sjwt](https://github.com/brianvoe/sjwt) - 简单的 jwt 生成器和解析器。
- [spicedb](https://github.com/authzed/spicedb) - 一个受 Zanzibar 启发的数据库,支持细粒度授权。
- [x509proxy](https://github.com/vkuznet/x509proxy) - 用于处理 X509 代理证书的库。
**[⬆ 返回顶部](#contents)**
## 区块链
_用于构建区块链的工具。_
- [cometbft](https://github.com/cometbft/cometbft) - 分布式、拜占庭容错、确定性状态机复制引擎。它是 Tendermint Core 的分支,实现了 Tendermint 共识算法。
- [cosmos-sdk](https://github.com/cosmos/cosmos-sdk) - Cosmos 生态系统中用于构建公有链的框架。
- [gno](https://github.com/gnolang/gno) - 一个用 Golang 和 Gnolang 构建的综合智能合约套件,Gnolang 是一种确定性的、专为区块链构建的 Go 变体。
- [go-ethereum](https://github.com/ethereum/go-ethereum) - Ethereum 协议的官方 Go 实现。
- [gosemble](https://github.com/LimeChain/gosemble) - 一个基于 Go 的框架,用于构建与 Polkadot/Substrate 兼容的 runtime。
- [gossamer](https://github.com/ChainSafe/gossamer) - Polkadot Host 的 Go 实现。
- [kubo](https://github.com/ipfs/kubo) - IPFS 在 Go 中的实现。它提供内容可寻址存储,可用于 DApps 中的去中心化存储。它基于 IPFS 协议。
- [lnd](https://github.com/lightningnetwork/lnd) - Lightning Network 节点的完整实现。
- [nview](https://github.com/blinklabs-io/nview) - Cardano 节点的本地监控工具。它是一个 TUI (终端用户界面),旨在适应大多数屏幕。
- [solana-go](https://github.com/gagliardetto/solana-go) - 用于与 Solana JSON RPC 和 WebSocket 接口交互的 Go 库。
- [tendermint](https://github.com/tendermint/tendermint) - 高性能中间件,用于将任何编程语言编写的状态机转换为使用 Tendermint 共识和区块链协议的拜占庭容错复制状态机。
**[⬆ 返回顶部](#contents)**
## 机器人构建
_用于构建和使用机器人的库。_
- [arikawa](https://github.com/diamondburned/arikawa) - Discord API 的库和框架。
- [bot](https://github.com/go-telegram/bot) - 零依赖的 Telegram Bot 库,带有额外的 UI 组件。
- [echotron](https://github.com/NicoNex/echotron) - 一个优雅且并发的 Telegram Bot Go 库。
- [go-joe](https://joe-bot.net) - 一个受 Hubot 启发但用 Go 编写的通用机器人库。
- [go-sarah](https://github.com/oklahomer/go-sarah) - 用于为所需的聊天服务(包括 LINE, Slack, Gitter 等)构建机器人的框架。
- [go-tg](https://github.com/mr-linch/go-tg) - 根据官方文档生成的 Go 客户端库,用于访问 Telegram Bot API,包含构建复杂机器人的电池。
- [go-twitch-irc](https://github.com/gempir/go-twitch-irc) - 用于编写 twitch.tv 聊天机器人的库。
- [micha](https://github.com/onrik/micha) - Telegram bot api 的 Go 库。
- [slack-bot](https://github.com/innogames/slack-bot) - 适合懒开发者的现成 Slack Bot:自定义命令, Jenkins, Jira, Bitbucket, Github...
- [slacker](https://github.com/slack-io/slacker) - 易于使用的框架,用于创建 Slack 机器人。
- [telebot](https://github.com/tucnak/telebot) - 用 Go 编写的 Telegram bot 框架。
- [telego](https://github.com/mymmrac/telego) - Golang 的 Telegram Bot API 库,具有完整的一对一 API 实现。
- [telegram-bot-api](https://github.com/go-telegram-bot-api/telegram-bot-api) - 简单干净的 Telegram bot 客户端。
- [TG](https://github.com/enetx/tg) - Go 的 Telegram Bot 框架。
- [wayback](https://github.com/wabarc/wayback) - 一个用于 Telegram, Mastodon, Slack, 和其他消息平台归档网页的机器人。
**[⬆ 返回顶部](#contents)**
## 构建自动化
_有助于构建自动化的库和工具。_
- [1build](https://github.com/gopinath-langote/1build) - 无摩擦管理项目特定命令的命令行工具。
- [air](https://github.com/cosmtrek/air) - Air - Go 应用的热重载。
- [anko](https://github.com/GuilhermeCaruso/anko) - 针对多种编程语言的简单应用程序监视器。
- [gaper](https://github.com/maxclaus/gaper) - 当 Go 项目崩溃或某些监视的文件更改时,构建并重启该项目。
- [gilbert](https://go-gilbert.github.io) - Go 项目的构建系统和任务运行器。
- [gob](https://github.com/kcmvp/gob) - 类似 [Gradle](https://docs.gradle.org/)/[Maven](https://maven.apache.org/) 的 Go 项目构建工具。
- [goyek](https://github.com/goyek/goyek) - 在 Go 中创建构建流水线。
- [mage](https://github.com/magefile/mage) - Mage 是一个使用 Go 的类似 make/rake 的构建工具。
- [mmake](https://github.com/tj/mmake) - 现代 Make。
- [realize](https://github.com/tockins/realize) - Go 构建一个带有文件监视器和实时重载的系统。运行、构建并使用自定义路径监视文件更改。
- [Task](https://github.com/go-task/task) - 简单的 "Make" 替代品。
- [taskctl](https://github.com/taskctl/taskctl) - 并发任务运行器。
- [xc](https://github.com/joerdav/xc) - 任务运行器,带有 README.md 定义的任务,可执行的 markdown。
**[⬆ 返回顶部](#contents)**
## 命令行
### 高级控制台 UI
_用于构建控制台应用程序和控制台用户界面的库。_
- [asciigraph](https://github.com/guptarohit/asciigraph) - Go 包,用于在命令行应用中制作轻量级 ASCII 线图 ╭┈╯,无其他依赖。
- [aurora](https://github.com/logrusorgru/aurora) - 支持 fmt.Printf/Sprintf 的 ANSI 终端颜色。
- [box-cli-maker](https://github.com/box-cli-maker/box-cli-maker) - 在终端中渲染高度可定制的框。
- [bubble-table](https://github.com/Evertras/bubble-table) - bubbletea 的交互式表格组件。
- [bubbles](https://github.com/charmbracelet/bubbles) - bubbletea 的 TUI 组件。
- [bubbletea](https://github.com/charmbracelet/bubbletea) - 用于构建终端应用程序的 Go 框架,基于 The Elm Architecture。
- [crab-config-files-templating](https://github.com/alfiankan/crab-config-files-templating) - 用于 kubernetes manifest 或通用配置文件的动态配置文件模板工具。
- [ctc](https://github.com/wzshiming/ctc) - 非侵入式跨平台终端颜色库,无需修改 Print 方法。
- [fx](https://github.com/antonmedv/fx) - 终端 JSON 查看器和处理器。
- [go-ataman](https://github.com/workanator/go-ataman) - 用于在终端中渲染 ANSI 彩色文本模板的 Go 库。
- [go-color](https://github.com/mattn/go-colorable) - Windows 的可着色写入器。
- [go-colortext](https://github.com/daviddengcn/go-colortext) - 用于终端彩色输出的 Go 库。
- [go-isatty](https://github.com/mattn/go-isatty) - golang 的 isatty。
- [go-palette](https://github.com/abusomani/go-palette) - Go 库,使用 ANSI 颜色提供优雅便捷的风格定义。完全兼容并封装 [fmt library](https://pkg.go.dev/fmt) 以实现漂亮的终端布局。
- [go-prompt](https://github.com/c-bata/go-prompt) - 用于构建强大交互式提示的库,受 [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit) 启发。
- [gocui](https://github.com/jroimartin/gocui) - 旨在创建控制台用户界面的极简 Go 库。
- [gommon/color](https://github.com/labstack/gommon/tree/master/color) - 样式化终端文本。
- [gookit/color](https://github.com/gookit/color) - 终端颜色渲染工具库,支持 16 色、256 色、RGB 颜色渲染输出,兼容 Windows。
- [lipgloss](https://github.com/charmbracelet/lipgloss) - 在终端中声明式定义颜色、格式和布局样式。
- [marker](https://github.com/cyucelen/marker) - 匹配和标记字符串以进行彩色终端输出的最简单方法。
- [mpb](https://github.com/vbauerster/mpb) - 终端应用程序的多进度条。
- [phoenix](https://github.com/phoenix-tui/phoenix) - 高性能 TUI 框架,具有 Elm 启发的架构、完美的 Unicode 渲染和零分配事件系统。
- [progressbar](https://github.com/schollz/progressbar) - 基本的线程安全进度条,可在每个操作系统中工作。
- [pterm](https://github.com/pterm/pterm) - 一个在每个平台上美化控制台输出的库,包含许多可组合的组件。
- [simpletable](https://github.com/alexeyco/simpletable) - Go 终端中的简单表格。
- [spinner](https://github.com/briandowns/spinner) - Go 包,通过选项轻松提供终端微调器。
- [tabby](https://github.com/cheynewallace/tabby) - 一个超简单的 Golang 表格微型库。
- [table](https://github.com/tomlazar/table) - 用于终端基于颜色的表格的小型库。
- [termbox-go](https://github.com/nsf/termbox-go) - Termbox 是一个用于创建跨平台基于文本的界面的库。
- [termdash](https://github.com/mum4k/termdash) - 基于 **termbox-go** 并受 [termui](https://github.com/gizak/termui) 启发的 Go 终端仪表板。
- [termenv](https://github.com/muesli/termenv) - 为您的终端应用程序提供高级 ANSI 样式和颜色支持。
- [termui](https://github.com/gizak/termui) - 基于 **termbox-go** 并受 [blessed-contrib](https://github.com/yaronn/blessed-contrib) 启发的 Go 终端仪表板。
- [uilive](https://github.com/gosuri/uilive) - 用于实时更新终端输出的库。
- [uiprogress](https://github.com/gosuri/uiprogress) - 用于在终端应用程序中渲染进度条的灵活库。
- [uitable](https://github.com/gosuri/uitable) - 使用表格数据提高终端应用程序可读性的库。
- [yacspin](https://github.com/theckman/yacspin) - Yet Another CLi Spinner 包,用于处理终端微调器。
**[⬆ 返回顶部](#contents)**
### 标准 CLI
_用于构建标准或基本命令行应用程序的库。_
- [acmd](https://github.com/cristalhq/acmd) - Go 中简单、有用且固执己见的 CLI 包。
- [argparse](https://github.com/akamensky/argparse) - 受 Python argparse 模块启发的命令行参数解析器。
- [argv](https://github.com/cosiner/argv) - Go 库,使用 bash 语法将命令行字符串拆分为参数数组。
- [carapace](https://github.com/rsteube/carapace) - spf13/cobra 的命令参数补全生成器。
- [carapace-bin](https://github.com/rsteube/carapace-bin) - 多 shell 多命令参数补全器。
- [carapace-spec](https://github.com/rsteube/carapace-spec) - 使用 spec 文件定义简单的补全。
- [climax](https://github.com/tucnak/climax) - 具有“人情味”的替代 CLI,秉承 Go 命令的精神。
- [clîr](https://github.com/leaanthony/clir) - 一个简单清晰的 CLI 库。无依赖。
- [cmd](https://github.com/posener/cmd) - 以符合习惯的方式扩展标准 `flag` 包以支持子命令等。
- [cmdr](https://github.com/hedzr/cmdr) - POSIX/GNU 风格、类似 getopt 的命令行 UI Go 库。
- [cobra](https://github.com/spf13/cobra) - 现代 Go CLI 交互的指挥官。
- [command-chain](https://github.com/rainu/go-command-chain) - 一个用于配置和运行命令链的 go 库 - 类似 unix shells 中的管道。
- [commandeer](https://github.com/jaffee/commandeer) - 对开发者友好的 CLI 应用:基于 struct 字段和标签设置 flags, defaults, 和 usage。
- [complete](https://github.com/posener/complete) - 在 Go 中编写 bash 补全 + Go 命令 bash 补全。
- [console](https://github.com/reeflective/console) - Cobra 命令的闭环应用程序库,带有 oh-my-posh 提示等。
- [Dnote](https://github.com/dnote/dnote) - 具有多设备同步功能的简单命令行笔记本。
- [elvish](https://github.com/elves/elvish) - 一种富有表现力的编程语言和多功能交互式 shell。
- [env](https://github.com/codingconcepts/env) - 基于标签的 struct 环境配置。
- [flaggy](https://github.com/integrii/flaggy) - 一个健壮且符合习惯的 flags 包,具有出色的子命令支持。
- [flagvar](https://github.com/sgreben/flagvar) - Go 标准 `flag` 包的 flag 参数类型集合。
- [flash-flags](https://github.com/agilira/flash-flags) - 超快、零依赖、符合 POSIX 标准的 flag 解析库,可用作经过安全加固的 stdlib 替代品。
- [getopt](https://github.com/jon-codes/getopt) - 准确的 Go `getopt`,根据 GNU libc 实现进行验证。
- [go-arg](https://github.com/alexflint/go-arg) - Go 中基于 struct 的参数解析。
- [go-flags](https://github.com/jessevdk/go-flags) - go 命令行选项解析器。
- [go-getoptions](https://github.com/DavidGamba/go-getoptions) - 受 Perl GetOpt::Long 灵活性启发的 Go 选项解析器。
- [go-readline-ny](https://github.com/nyaosorg/go-readline-ny) - 具有 Emacs 键绑定、Unicode 支持、补全和语法高亮的可定制行编辑库。用于 NYAGOS shell。
- [gocmd](https://github.com/devfacet/gocmd) - 用于构建命令行应用程序的 Go 库。
- [goopt](https://github.com/napalu/goopt) - 声明式、基于 struct-tag 的 Go CLI 框架,具有广泛的功能集,如分层命令/flags、i18n、shell 补全和验证。
- [hashicorp/cli](https://github.com/hashicorp/cli) - 用于实现命令行界面的 Go 库。
- [hiboot cli](https://github.com/hidevopsio/hiboot/tree/master/pkg/app/cli) - 带有自动配置和依赖注入的 cli 应用框架。
- [job](https://github.com/liujianping/job) - JOB,将你的短期命令变成长期工作。
- [kingpin](https://github.com/alecthomas/kingpin) - 支持子命令的命令行和 flag 解析器(已被 `kong` 取代;见下文)。
- [liner](https://github.com/peterh/liner) - 用于命令行界面的类 Go readline 库。
- [mcli](https://github.com/jxskiss/mcli) - 一个极简但非常强大的 Go cli 库。
- [mkideal/cli](https://github.com/mkideal/cli) - 基于 golang struct tags 的功能丰富且易于使用的命令行包。
- [mow.cli](https://github.com/jawher/mow.cli) - 用于构建具有复杂 flag 和参数解析及验证功能的 CLI 应用程序的 Go 库。
- [ops](https://github.com/nanovms/ops) - Unikernel 构建器/编排器。
- [orpheus](https://github.com/agilira/orpheus) - 具有安全加固、插件存储系统和生产可观察性功能的 CLI 框架。
- [pflag](https://github.com/spf13/pflag) - Go flag 包的直接替代品,实现 POSIX/GNU 风格的 --flags。
- [readline](https://github.com/reeflective/readline) - 具有现代且易于使用的 UI 功能的 Shell 库。
- [sflags](https://github.com/octago/sflags) - 基于结构体的 flags 生成器,适用于 flag, urfave/cli, pflag, cobra, kingpin 和其他库。
- [structcli](https://github.com/leodido/structcli) - 消除 Cobra 样板代码:从 Go 结构体声明式构建功能强大、功能丰富的 CLI。
- [strumt](https://github.com/antham/strumt) - 用于创建提示链的库。
- [subcmd](https://github.com/bobg/subcmd) - 解析和运行子命令的另一种方法。与标准 `flag` 包配合使用。
- [teris-io/cli](https://github.com/teris-io/cli) - 用于在 Go 中构建命令行界面的简单完整的 API。
- [urfave/cli](https://github.com/urfave/cli) - 简单、快速、有趣的 Go 命令行应用构建包(前身是 codegangsta/cli)。
- [version](https://github.com/mszostok/version) - 以多种格式收集和显示 CLI 版本信息以及升级通知。
- [wlog](https://github.com/dixonwille/wlog) - 支持跨平台颜色和并发的简单日志接口。
- [wmenu](https://github.com/dixonwille/wmenu) - 易于使用的菜单结构,适用于提示用户做出选择的 cli 应用程序。
**[⬆ 返回顶部](#contents)**
## 配置
_用于配置解析的库。_
- [aconfig](https://github.com/cristalhq/aconfig) - 简单、有用且固执己见的配置加载器。
- [argus](https://github.com/agilira/argus) - 文件监视和配置管理,具有 MPSC 环形缓冲区、自适应批处理策略和通用格式解析。
- [azureappconfiguration](https://github.com/Azure/AppConfiguration-GoProvider) - 用于 Go 应用程序使用 Azure App Configuration 数据的配置提供程序。
- [bcl](https://github.com/wkhere/bcl) - BCL 是一种类似于 HCL 的配置语言。
- [cleanenv](https://github.com/ilyakaznacheev/cleanenv) - 极简配置读取器(从文件、ENV 和任何你想要的地方)。
- [config](https://github.com/JeremyLoy/config) - 云原生应用配置。只需两行即可将 ENV 绑定到 structs。
- [config](https://github.com/num30/config) - 在两行代码中使用文件、环境变量或 flags 配置你的应用。
- [configuration](https://github.com/BoRuDar/configuration) - 用于从环境变量、文件、flags 和 'default' 标签初始化配置结构体的库。
- [configuro](https://github.com/sherifabdlnaby/configuro) - 固执己见的配置加载和验证框架,来自 ENV 和 Files,专注于符合 12-Factor 的应用程序。
- [confiq](https://github.com/greencoda/confiq) - Go 的结构化数据格式到配置结构体解码器库 - 支持多种数据格式。
- [confita](https://github.com/heetch/confita) - 从多个后端以级联方式将配置加载到结构体中。
- [conflate](https://github.com/the4thamigo-uk/conflate) - 用于合并来自任意 URL 的多个 JSON/YAML/TOML 文件的库/工具,针对 JSON schema 进行验证,并应用 schema 中定义的默认值。
- [enflag](https://github.com/atelpis/enflag) - 面向容器、零依赖的配置库,统一了环境变量和 Flag 解析。使用泛型实现类型安全,无需反射或结构体标签。
- [env](https://github.com/caarlos0/env) - 将环境变量解析为 Go 结构体(带默认值)。
- [env](https://github.com/junk1tm/env) - 用于将环境变量加载到结构体中的轻量级包。
- [env](https://github.com/syntaqx/env) - 支持解组到结构体的环境实用程序包。
- [envconfig](https://github.com/vrischmann/envconfig) - 从环境变量读取配置。
- [envh](https://github.com/antham/envh) - 管理环境变量的助手。
- [envyaml](https://github.com/yuseferi/envyaml) - 带有环境变量的 Yaml 读取器。它有助于将机密信息作为环境变量,但将其作为结构化 Yaml 加载。
- [fig](https://github.com/kkyr/fig) - 用于从文件和环境变量读取配置的微型库(带有验证和默认值)。
- [genv](https://github.com/sakirsensoy/genv) - 轻松读取环境变量,支持 dotenv。
- [go-array](https://github.com/deatil/go-array) - 一个从 map, slice 或 json 读取或设置数据的 Go 包。
- [go-aws-ssm](https://github.com/PaddleHQ/go-aws-ssm) - 从 AWS System Manager - Parameter Store 获取参数的 Go 包。
- [go-cfg]( ) - 该库提供了一种统一的方式,将来自各种源(如 env, flags, 和配置文件 的配置数据读取到结构中。
- [go-conf](https://github.com/ThomasObenaus/go-conf) - 基于带注释的结构体的简单应用配置库。它支持从环境变量、配置文件和命令行参数读取配置。
- [go-config](https://github.com/MordaTeam/go-config) - 用于处理应用配置的简单便捷的库。
- [go-ini](https://github.com/subpop/go-ini) - 一个编组和解组 INI 文件的 Go 包。
- [go-ssm-config](https://github.com/ianlopshire/go-ssm-config) - 用于从 AWS SSM (Parameter Store) 加载配置参数的 Go 实用程序。
- [go-up](https://github.com/ufoscout/go-up) - 一个简单的配置库,具有递归占位符解析且无魔法。
- [GoCfg](https://github.com/Jagerente/gocfg) - 具有 Struct Tags 契约、自定义值提供程序、解析器和文档生成的配置管理器。可定制且简单。
- [godotenv](https://github.com/joho/godotenv) - Ruby dotenv 库的 Go 移植(从 `.env` 加载环境变量)。
- [GoLobby/Config](https://github.com/golobby/config) - GoLobby Config 是一个轻量级但强大的 Go 编程语言配置管理器。
- [gone/jconf](https://github.com/One-com/gone/tree/master/jconf) - 模块化 JSON 配置。将你的配置结构体与它们配置的代码放在一起,并将解析委托给子模块,而不牺牲完整的配置序列化。
- [gonfig](https://github.com/milad-abbasi/gonfig) - 基于标签的配置解析器,将来自不同提供程序的值加载到类型安全的结构体中。
- [gookit/config](https://github.com/gookit/config) - 应用程序配置管理(加载、获取、设置)。支持 JSON, YAML, TOML, INI, HCL。多文件加载,数据覆盖合并。
- [harvester](https://github.com/beatlabs/harvester) - Harvester,一个易于使用的静态和动态配置包,支持种子设定、环境变量和 Consul 集成。
- [hedzr/store](https://github.com/hedzr/store) - 可扩展、高性能的配置管理库,针对分层数据进行了优化。
- [hjson](https://github.com/hjson/hjson-go) - Human JSON,一种面向人类的配置文件格式。宽松的语法,更少的错误,更多的注释。
- [hocon](https://github.com/gurkankaymak/hocon) - 用于处理 HOCON(一种对人类友好的 JSON 超集)格式的配置库,支持环境变量、引用其他值、注释和多文件等功能。
- [ini](https://github.com/go-ini/ini) - 用于读写 INI 文件的 Go 包。
- [ini](https://github.com/wlevene/ini) - INI 解析器和写入库,解组到结构体,编组到 Json,写入文件,监视文件。
- [kelseyhightower/envconfig](https://github.com/kelseyhightower/envconfig) - 用于管理来自环境变量的配置数据的 Go 库。
- [koanf](https://github.com/knadh/koanf) - 轻量级、可扩展的 Go 应用程序配置读取库。内置支持 JSON, TOML, YAML, env, 命令行。
- [konf](https://github.com/nil-go/konf) - 用于从文件、env、flag 和云(如 AWS, Azure, GCP)读取/监视配置的最简单的 API。
- [konfig](https://github.com/lalamove/konfig) - 分布式处理时代 Go 的可组合、可观察和高性能配置处理。
- [kong](https://github.com/alecthomas/kong) - 命令行解析器,支持任意复杂的命令行结构和额外的配置源,如 YAML, JSON, TOML 等(`kingpin` 的继任者)。
- [nasermirzaei89/env](https://github.com/nasermirzaei89/env) - 用于读取环境变量的简单有用的包。
- [nfigure](https://github.com/muir/nfigure) - 基于每个库 struct-tag 的配置,来自命令行(Posix 和 Go 风格);环境, JSON, YAML。
- [onion](https://github.com/goraz/onion) - Go 的基于层的配置,支持 JSON, TOML, YAML, properties, etcd, env, 和使用 PGP 的加密。
- [piper](https://github.com/Yiling-J/piper) - 带有配置继承和密钥生成的 Viper 包装器。
- [sonic](https://github.com/bytedance/sonic) - 一个极快的 JSON 序列化和反序列化库。
- [swap](https://github.com/oblq/swap) - 基于构建环境递归地实例化/配置结构体。。
- [typenv](https://github.com/diegomarangoni/typenv) - 极简、零依赖、类型化的环境变量库。
- [uConfig](https://github.com/omeid/uconfig) - 轻量级、零依赖且可扩展的配置管理。
- [viper](https://github.com/spf13/viper) - 带毒牙的 Go 配置。
- [xdg](https://github.com/adrg/xdg) - [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/latest/) 和 [XDG user directories](https://wiki.archlinux.org/index.php/XDG_user_directories) 的 Go 实现。
- [yamagiconf](https://github.com/romshark/yamagiconf) - Go 配置的 YAML “安全子集”。
- [zerocfg](https://github.com/chaindead/zerocfg) - 零努力、简洁的配置管理,避免样板代码和重复代码,支持具有优先级覆盖的多个源。
**[⬆ 返回顶部](#contents)**
## 持续集成
_有助于持续集成的工具。_
- [abstruse](https://github.com/bleenco/abstruse) - Abstruse 是一个分布式 CI 平台。
- [Bencher](https://bencher.dev/) - 一套持续基准测试工具,旨在捕捉 CI 中的性能回归。
- [CDS](https://github.com/ovh/cds) - 企业级 CI/CD 和 DevOps 自动化开源平台。
- [dot](https://github.com/opnlabs/dot) - 一个极简的、本地优先的持续集成系统,使用 Docker 在阶段中并发运行作业。
- [drone](https://github.com/drone/drone) - Drone 是一个基于 Docker 的持续集成平台,用 Go 编写。
- [go-beautiful-html-coverage](https://github.com/gha-common/go-beautiful-html-coverage) - 一个 GitHub Action,用于跟踪 Pull Request 中的代码覆盖率,提供漂亮的 HTML 预览,免费。
- [go-fuzz-action](https://github.com/jidicula/go-fuzz-action) - 在 GitHub Actions 中使用 Go 1.18 的内置模糊测试。
- [go-semver-release](https://github.com/s0ders/go-semver-release) - 自动化 Git 仓库的语义版本控制。
- [go-test-coverage](https://github.com/marketplace/actions/go-test-coverage) - 一个 GitHub Action,当测试覆盖率低于设定阈值时报告问题。
- [gomason](https://github.com/nikogura/gomason) - 从干净的工作空间测试、构建、签名和发布你的 Go 二进制文件。
- [gotestfmt](https://github.com/GoTestTools/gotestfmt) - 供人类阅读的 go test 输出。
- [goveralls](https://github.com/mattn/goveralls) - Coveralls.io 持续代码覆盖跟踪系统的 Go 集成。
- [muffet](https://github.com/raviqqe/muffet) - Go 中的快速网站链接检查器,参见 [alternatives](https://github.com/lycheeverse/lychee#features)。
- [overalls](https://github.com/go-playground/overalls) - 多包 Go 项目 coverprofile,适用于 goveralls 等工具。
- [roveralls](https://github.com/LawrenceWoodman/roveralls) - 递归覆盖测试工具。
- [woodpecker](https://github.com/woodpecker-ci/woodpecker) - Woodpecker 是 Drone CI 系统的社区分支。
**[⬆ 返回顶部](#contents)**
## CSS 预处理器
_用于预处理 CSS 文件的库。_
- [go-css](https://github.com/napsy/go-css) - 一个非常简单的 CSS 解析器,用 Go 编写。
- [go-libsass](https://github.com/wellington/go-libsass) - 100% Sass 兼容 libsass 项目的 Go 包装器。
**[⬆ 返回顶部](#contents)**
## 数据集成框架
_用于执行 ELT / ETL 的框架_
- [Benthos](https://github.com/benthosdev/benthos) - 一系列协议之间的消息流桥接。
- [CloudQuery](http://github.com/cloudquery/cloudquery) - 一个高性能 ELT 数据集成框架,具有可插拔架构。
- [omniparser](https://github.com/jf-tech/omniparser) - 一个通用的 ETL 库,以流方式解析文本输入 (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc),并使用数据驱动的 schema 将数据转换为 JSON 输出。
**[⬆ 返回顶部](#contents)**
## 数据结构与算法
### 位打包与压缩
- [bingo](https://github.com/iancmcc/bingo) - 快速、零分配、保持字典序的本地类型到字节打包。
- [binpacker](https://github.com/zhuangsirui/binpacker) - 二进制打包器和解包器帮助用户构建自定义二进制流。
- [bit](https://github.com/yourbasic/bit) - Golang 集合数据结构,附带额外的位操作功能。
- [crunch](https://github.com/superwhiskers/crunch) - 实现缓冲区的 Go 包,用于轻松处理各种数据类型。
- [go-ef](https://github.com/amallia/go-ef) - Elias-Fano 编码的 Go 实现。
- [roaring](https://github.com/RoaringBitmap/roaring) - 实现压缩位集的 Go 包。
### 位集合
- [bitmap](https://github.com/kelindar/bitmap) - Go 中的密集、零分配、启用 SIMD 的 bitmap/bitset。
- [bitset](https://github.com/bits-and-blooms/bitset) - 实现位集的 Go 包。
### Bloom 和 Cuckoo 过滤器
- [bloom](https://github.com/bits-and-blooms/bloom) - 实现 Bloom 过滤器的 Go 包。
- [bloom](https://github.com/zhenjl/bloom) - 在 Go 中实现的 Bloom 过滤器。
- [bloom](https://github.com/yourbasic/bloom) - Golang Bloom 过滤器实现。
- [bloomfilter](https://github.com/OldPanda/bloomfilter) - Go 中的又一个 Bloomfilter 实现,与 Java 的 Guava 库兼容。
- [boomfilters](https://github.com/tylertreat/BoomFilters) - 用于处理连续、无界流的概率数据结构。
- [cuckoo-filter](https://github.com/linvon/cuckoo-filter) - Cuckoo filter:一个全面的 Cuckoo 过滤器,与其他实现相比具有可配置性和空间优化,并且原始论文中提到的所有功能都可用。
- [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo filter:在 Go 中实现的一个很好的计数 bloom filter 替代品。
- [ribbonGo](https://github.com/RibbonGo/ribbonGo) - Ribbon filters(实际上比 Bloom 和 Xor 更小)的第一个纯 Go 实现,用于空间高效的近似集合成员查询。
- [ring](https://github.com/TheTannerRyan/ring) - 高性能、线程安全的 bloom 过滤器的 Go 实现。
### 数据结构与算法集合
- [algorithms](https://github.com/shady831213/algorithms) - 算法和数据结构。CLRS 学习。
- [go-datastructures](https://github.com/Workiva/go-datastructures) - 有用、高性能且线程安全的数据结构集合。
- [gods](https://github.com/emirpasic/gods) - Go 数据结构。容器、集合、列表、栈、映射、BidiMaps、树、HashSet 等。
- [gostl](https://github.com/liyue201/gostl) - Go 的数据结构和算法库,旨在提供类似 C++ STL 的功能。
### 迭代器
- [gloop](https://github.com/alvii147/gloop) - 使用 Go 的 range-over-func 功能进行便捷循环。
- [goterator](https://github.com/yaa110/goterator) - 迭代器实现,提供 map 和 reduce 功能。
- [iter](https://github.com/disksing/iter) - C++ STL 迭代器和算法的 Go 实现。
### Maps
另请参阅 [Database](#database) 以获取更复杂的键值存储,以及 [Trees](#trees) 以获取
额外的有序映射实现。
- [cmap](https://github.com/lrita/cmap) - 一个用于 go 的线程安全并发映射,支持使用 `interface{}` 作为键并自动扩展分片。
- [concurrent-swiss-map](https://github.com/mhmtszr/concurrent-swiss-map) - 一个高性能、线程安全的通用并发哈希映射实现,采用 Swiss Map。
- [dict](https://github.com/srfrog/dict) - 类似 Python 的字典 用于 Go。
- [go-shelve](https://github.com/lucmq/go-shelve) - Go 编程语言的持久化、类映射对象。支持多种嵌入式键值存储。
- [goradd/maps](https://github.com/goradd/maps) - Go 1.18+ 通用映射接口,用于 maps;安全 maps;有序 maps;有序、安全 maps 等。
- [hmap](https://github.com/lyonnee/hmap) - HMap 是一个并发安全、支持泛型的 Map 实现,旨在提供易于使用的 API。
### 其他数据结构与算法
- [combo](https://github.com/bobg/combo) - 组合操作,包括排列、组合和可重组合。
- [concurrent-writer](https://github.com/free/concurrent-writer) - 高度并发的 `bufio.Writer` 直接替代品。
- [count-min-log]() - Go 实现 Count-Min-Log sketch:使用近似计数器进行近似计数(类似于 Count-Min sketch 但使用更少内存)。
- [FSM](https://github.com/enetx/fsm) - Go 的 FSM。
- [fsm](https://github.com/cocoonspace/fsm) - 有限状态机包。
- [genfuncs](https://github.com/nwillc/genfuncs) - 受 Kotlin Sequence 和 Map 启发的 Go 1.18+ 泛型包。
- [go-generics](https://github.com/bobg/go-generics) - 通用 slice, map, set, iterator, 和 goroutine 实用程序。
- [go-geoindex](https://github.com/hailocab/go-geoindex) - 内存地理索引。
- [go-rampart](https://github.com/francesconi/go-rampart) - 确定区间彼此之间的关系。
- [go-rquad](https://github.com/aurelien-rainone/go-rquad) - 区域四叉树,具有高效的点定位和邻居查找。
- [go-tuple](https://github.com/barweiss/go-tuple) - Go 1.18+ 的通用元组实现。
- [go18ds](https://github.com/daichi-m/go18ds) - 使用 Go 1.18 泛型的 Go 数据结构。
- [gofal](https://github.com/xxjwxc/gofal) - Go 的分数 api。
- [gogu](https://github.com/esimov/gogu) - 一个全面、可重用且高效的并发安全泛型实用函数和数据结构库。
- [gota](https://github.com/kniren/gota) - 为 Go 实现 dataframes, series, 和数据整理方法。
- [hide](https://github.com/emvi/hide) - ID 类型,带有编组到/从哈希,以防止将 ID 发送给客户端。
- [hyperloglog](https://github.com/axiomhq/hyperloglog) - HyperLogLog 实现,具有 Sparse, LogLog-Beta 偏差校正和 TailCut 空间缩减。
- [quadtree](https://github.com/s0rg/quadtree) - 通用、零分配、100% 测试覆盖的四叉树。
- [slices](https://github.com/twharmon/slices) - 纯粹的、用于 slices 的泛型函数。
### 可空类型
- [nan](https://github.com/kak-tus/nan) - 一个库中的零分配可空结构,带有方便的转换函数、编组器和解组器。
- [null](https://github.com/emvi/null) - 可以编组/解组到/从 JSON 的可空 Go 类型。
- [typ](https://github.com/gurukami/typ) - 空类型,安全的基本类型转换和从复杂结构中获取值。
### 队列
- [deheap](https://github.com/aalpar/deheap) - 双端堆,对最小和最大元素都有 O(log n) 的访问权限。
- [deque](https://github.com/edwingeng/deque) - 高度优化的双端队列。
- [deque](https://github.com/gammazero/deque) - 快速环形缓冲区双端队列。
- [dqueue](https://github.com/vodolaz095/dqueue) - 简单、内存中、零依赖且经过实战测试的线程安全延迟队列。
- [goconcurrentqueue](https://github.com/enriquebris/goconcurrentqueue) - 并发 FIFO 队列。
- [hatchet](https://github.com/hatchet-dev/hatchet) - 分布式、容错的任务队列。
- [list](https://github.com/koss-null/list) - 一个通用的、线程安全的双向链表,具有完整的迭代器支持和用于嵌入式使用的侵入式单向链表;container/list 的功能丰富的替代品。
- [memlog](https://github.com/embano1/memlog) - 一个易于使用、轻量级、线程安全且仅追加的内存数据结构,受 Apache Kafka 启发。
- [queue](https://github.com/adrianbrad/queue) - 多个线程安全的 Go 通用队列实现。
### 集合
- [dsu](https://github.com/ihebu/dsu) - Go 中的并查集数据结构实现。
- [golang-set](https://github.com/deckarep/golang-set) - Go 的线程安全和非线程安全高性能集合。
- [goset](https://github.com/zoumo/goset) - 一个有用的 Go Set 集合实现。
- [set](https://github.com/StudioSol/set) - 使用 LinkedHashMap 在 Go 中实现的简单集合数据结构。
### 文本分析
- [bleve](https://github.com/blevesearch/bleve) - 现代 Go 文本索引库。
- [go-adaptive-radix-tree](https://github.com/plar/go-adaptive-radix-tree) - Adaptive Radix Tree 的 Go 实现。
- [go-edlib](https://github.com/hbollon/go-edlib) - Go 字符串比较和编辑距离算法库(Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler 等),兼容 Unicode。
- [levenshtein](https://github.com/agext/levenshtein) - Levenshtein 距离和相似度度量,具有可定制的编辑成本和类似 Winkler 的常见前缀奖励。
- [levenshtein](https://github.com/agnivade/levenshtein) - 在 Go 中计算 levenshtein 距离的实现。
- [mspm](https://github.com/BlackRabbitt/mspm) - 用于信息检索的多字符串模式匹配算法。
- [parsefields](https://github.com/MonaxGT/parsefields) - 用于解析类 JSON 日志以收集唯一字段和事件的工具。
- [ptrie](https://github.com/viant/ptrie) - 前缀树的实现。
- [trie](https://github.com/derekparker/trie) - Go 中的 Trie 实现。
### 树
- [graphlib](https://github.com/aio-arch/graphlib) - 拓扑排序库,DAG 图的排序和修剪。
- [hashsplit](http://github.com/bobg/hashsplit) - 将字节流拆分为块,并将块排列成树,边界由内容而非位置决定。
- [merkle](https://github.com/bobg/merkle) - 空间高效的 Merkle root 哈希和包含证明计算。
- [skiplist](https://github.com/MauriceGit/skiplist) - 非常快的 Go Skiplist 实现。
- [skiplist](https://github.com/gansidui/skiplist) - Go 中的 Skiplist 实现。
- [treemap](https://github.com/igrmk/treemap) - 底层使用红黑树的通用键排序映射。
### 管道
- [ordered-concurrently](https://github.com/tejzpr/ordered-concurrently) - Go 模块,并发处理工作并通过通道按输入顺序返回输出。
- [parapipe](https://github.com/nazar256/parapipe) - FIFO 管道,在每个阶段并行执行,同时保持消息和结果的顺序。
- [pipeline](https://github.com/hyfather/pipeline) - 具有 fan-in 和 fan-out 的管道实现。
- [pipelines](https://github.com/nxdir-s/pipelines) - 用于并发处理的通用管道函数。
**[⬆ 返回顶部](#contents)**
## 数据库
### 缓存
_具有过期记录的数据存储、内存分布式数据存储或基于文件的数据库的内存子集。_
- [bcache](https://github.com/iwanbk/bcache) - 最终一致的分布式内存缓存 Go 库。
- [BigCache](https://github.com/allegro/bigcache) - 用于千兆字节数据的高效键/值缓存。
- [cache2go](https://github.com/muesli/cache2go) - 支持基于超时自动失效的内存键:值缓存。
- [cachego](https://github.com/faabiosr/cachego) - Golang 缓存组件,支持多个驱动。
- [clusteredBigCache](https://github.com/oaStuff/clusteredBigCache) - 带有集群支持和单个条目过期的 BigCache。
- [coherence-go-client](https://github.com/oracle/coherence-go-client) - 使用 gRPC 作为网络传输的 Go 应用程序的 Oracle Coherence 缓存 API 的完整实现。
- [couchcache](https://github.com/codingsince1985/couchcache) - 由 Couchbase 服务器支持的 RESTful 缓存微服务。
- [EchoVault](https://github.com/EchoVault/EchoVault) - 可嵌入的分布式内存数据存储,兼容 Redis 客户端。
- [fastcache](https://github.com/VictoriaMetrics/fastcache) - 用于大量条目的快速线程安全内存缓存。最小化 GC 开销。
- [GCache](https://github.com/bluele/gcache) - 支持可过期缓存, LFU, LRU 和 ARC 的缓存库。
- [gdcache](https://github.com/ulovecode/gdcache) - 由 golang 实现的纯非侵入式缓存库,你可以用它来实现你自己的分布式缓存。
- [go-cache](https://github.com/viney-shih/go-cache) - 一个灵活的多层 Go 缓存库,通过采用 Cache-Aside 模式处理内存和共享缓存。
- [go-freelru](https://github.com/elastic/go-freelru) 一个无 GC、快速且通用的 LRU hashmap 库,带有可选的锁定、分片、驱逐和过期。
- [go-gcache](https://github.com/szyhf/go-gcache) - `GCache` 的通用版本,缓存支持可过期缓存, LFU, LRU 和 ARC。
- [go-mcache](https://github.com/OrlovEvgeny/go-mcache) - 快速内存键:值存储/缓存库。指针缓存。
- [gocache](https://github.com/eko/gocache) - 一个完整的 Go 缓存库,带有多个存储(内存, memcache, redis, ...)、可链式、可加载、指标缓存等。
- [gocache](https://github.com/yuseferi/gocache) - 一个无数据竞争的 Go 缓存库,具有高性能和自动清除功能。
- [groupcache](https://github.com/golang/groupcache) - Groupcache 是一个缓存和缓存填充库,在许多情况下旨在替代 memcached。
- [icache](https://github.com/mdaliyan/icache) - 一个高性能、通用、线程安全、零依赖的缓存包。
- [imcache](https://github.com/erni27/imcache) - 一个通用的内存缓存 Go 库。它支持过期、滑动过期、最大条目限制、驱逐回调和分片。
- [jetcache-go](https://github.com/mgtv-tech/jetcache-go) - 支持多级缓存的统一 Go 缓存库。
- [nscache](https://github.com/no-src/nscache) - 一个支持多种数据源驱动的 Go 缓存框架。
- [otter](https://github.com/maypok86/otter) - Go 的高性能无锁缓存。比 Ristretto 和朋友快很多倍。
- [pocache](https://github.com/naughtygopher/pocache) - Pocache 是一个极简缓存包,专注于先发制人的乐观缓存策略。
- [ristretto](https://github.com/dgraph-io/ristretto) - 一个高性能的内存受限 Go 缓存。
- [sturdyc](https://github.com/viccon/sturdyc) - 一个具有高级并发功能的缓存库,旨在使 I/O 密集型应用程序健壮且高性能。
- [theine](https://github.com/Yiling-J/theine-go) - 高性能、接近最佳的内存缓存,具有主动 TTL 过期和泛型。
- [timedmap](https://github.com/zekroTJA/timedmap) - 带有过期键值对的映射。
- [ttlcache](https://github.com/jellydator/ttlcache) - 具有条目过期和泛型的内存缓存。
- [ttlcache](https://github.com/cheshir/ttlcache) - 每条记录带有 TTL 的内存键值存储。
### Go 实现的数据库
- [badger](https://github.com/dgraph-io/badger) - Go 中的快速键值存储。
- [bbolt](https://github.com/etcd-io/bbolt) - Go 的嵌入式键/值数据库。
- [Bitcask](https://git.mills.io/prologic/bitcask) - Bitcask 是一个可嵌入、持久且快速的键值 数据库,用纯 Go 编写,具有可预测的读/写性能、低延迟和高吞吐量,这得益于 bitcask 磁盘布局 (LSM+WAL)。
- [buntdb](https://github.com/tidwall/buntdb) - 快速、可嵌入、内存中的 Go 键/值数据库,支持自定义索引和空间支持。
- [clover](https://github.com/ostafen/clover) - 用纯 Golang 编写的轻量级面向文档的 NoSQL 数据库。
- [cockroach](https://github.com/cockroachdb/cockroach) - 可扩展、地理复制的交易数据存储。
- [Coffer](https://github.com/claygod/coffer) - 支持事务的简单 ACID 键值数据库。
- [column](https://github.com/kelindar/column) - 高性能、列式、可嵌入的内存存储,具有位图索引和事务。
- [CovenantSQL](https://github.com/CovenantSQL/CovenantSQL) - CovenantSQL 是区块链上的 SQL 数据库。
- [Databunker](https://github.com/paranoidguy/databunker) - 为符合 GDPR 和 CCPA 而构建的个人身份信息 (PII) 存储服务。
- [dgraph](https://github.com/dgraph-io/dgraph) - 可扩展、分布式、低延迟、高吞吐量的图数据库。
- [DiceDB](https://github.com/DiceDB/dice) - 一个开源、快速、响应式的内存数据库,针对现代硬件进行了优化。更高的吞吐量和更低的中位延迟,使其成为现代工作负载的理想选择。
- [diskv](https://github.com/peterbourgon/diskv) - 自制的磁盘支持键值存储。
- [dolt](https://github.com/dolthub/dolt) - Dolt – 它是数据的 Git。
- [eliasdb](https://github.com/krotik/eliasdb) - 无依赖、具有 REST API、短语搜索和类 SQL 查询语言的事务图数据库。
- [godis](https://github.com/hdt3213/godis) - Golang 实现的高性能 Redis 服务器和集群。
- [goleveldb](https://github.com/syndtr/goleveldb) - Go 中 [LevelDB](https://github.com/google/leveldb) 键/值数据库的实现。
- [harehttps://github.com/jameycribbs/hare) - 一个简单的数据库管理系统,将每个表存储为行分隔的 JSON 文本文件。
- [immudb](https://github.com/codenotary/immudb) - immudb 是一个轻量级、高速的不可变数据库,用于用 Go 编写的系统和应用程序。
- [influxdb](https://github.com/influxdb/influxdb) - 用于指标、事件和实时分析的可扩展数据存储。
- [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb 是一个基于 LevelDB 的高性能 NoSQL,类似 Redis。
- [levigo](https://github.com/jmhodges/levigo) - Levigo 是 LevelDB 的 Go 包装器。
- [libradb](https://github.com/amit-davidson/LibraDB) - LibraDB 是一个少于 1000 行代码的简单数据库,用于学习。
- [LinDB](https://github.com/lindb/lindb) - LinDB 是一个可扩展、高性能、高可用的分布式时间序列数据库。
- [lotusdb](https://github.com/flower-corp/lotusdb) - 兼容 lsm 和 b+tree 的快速 k/v 数据库。
- [Milvus](https://github.com/milvus-io/milvus) - Milvus 是一个用于嵌入管理、分析和搜索的向量数据库。
- [moss](https://github.com/couchbase/moss) - Moss 是一个用 100% Go 编写的简单 LSM 键值存储引擎。
- [NoKV](https://github.com/feichai0017/NoKV) - 基于 LSM Tree 的高性能分布式 KV 存储。
- [nutsdb](https://github.com/xujiajun/nutsdb) - Nutsdb 是一个简单、快速、可嵌入、持久化的键/值存储,用纯 Go 编写。它支持完全可序列化的事务和许多数据结构,如 list, set, sorted set。
- [objectbox-go](https://github.com/objectbox/objectbox-go) - 高性能嵌入式对象数据库,带有 Go API。
- [pebble](https://github.com/cockroachdb/pebble) - Go 中受 RocksDB/LevelDB 启发的键值数据库。
- [piladb](https://github.com/fern4lvarez/piladb) - 基于栈数据结构的轻量级 RESTful 数据库引擎。
- [pogreb](https://github.com/akrylysov/pogreb) - 针对读取密集型工作负载的嵌入式键值存储。
- [prometheus](https://github.com/prometheus/prometheus) - 监控系统和时间序列数据库。
- [pudge](https://github.com/recoilme/pudge) - 使用 Go 标准库编写的快速简单的键/值存储。
- [redka](https://github.com/nalgeon/redka) - 使用 SQLite 重新实现的 Redis。
- [rosedb](https://github.com/roseduan/rosedb) - 基于 LSM+WAL 的嵌入式 k-v 数据库,支持 string, list, hash, set, zset。
- [rotom](https://github.com/xgzlucario/rotom) - 一个用 Golang 构建的微型 Redis 服务器,兼容 RESP 协议。
- [rqlite](https://github.com/rqlite/rqlite) - 构建在 SQLite 之上的轻量级、分布式、关系数据库。
- [tempdb](https://github.com/rafaeljesus/tempdb) - 临时项目的键值存储。
- [tidb](https://github.com/pingcap/tidb) - TiDB 是一个分布式 SQL 数据库。受 Google F1 设计启发。
- [tiedot](https://github.com/HouzuoGuo/tiedot) - 由 Golang 驱动的 NoSQL 数据库。
- [unitdb](https://github.com/unit-io/unitdb) - 用于 IoT、实时消息应用程序的快速时序数据库。使用 github.com/unit-io/unitd 应用程序通过 tcp 或 websocket 的 pubsub 访问 unitdb。
- [Vasto](https://github.com/chrislusf/vasto) - 一个分布式高性能键值存储。基于磁盘。最终一致。高可用。能够在不中断服务的情况下增长或收缩。
- [VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) - 快速、资源有效且可扩展的开源时间序列数据库。可用作 Prometheus 的长期远程存储。支持 PromQL。
### 数据库 Schema 迁移
- [atlas](https://github.com/ariga/atlas) - 数据库工具包。一个 CLI,旨在帮助公司更好地处理他们的数据。
- [avro](https://github.com/khezen/avro) - 发现 SQL schemas 并将其转换为 AVRO schemas。将 SQL 记录查询为 AVRO 字节。
- [bytebase](https://github.com/bytebase/bytebase) - 为 DevOps 团队提供安全的数据库 schema 变更和版本控制。
- [darwin](https://github.com/GuiaBolso/darwin) - Go 的数据库 schema 演进库。
- [dbmate](https://github.com/amacneil/dbmate) - 一个轻量级的、与框架无关的数据库迁移工具。
- [go-fixtures]() - Jazigo 是一个用 Go 编写的工具,用于检索多个网络设备的配置。
- [kcp-go](https://github.com/xtaci/kcp-go) - KCP - 快速可靠的 ARQ 协议。
- [kcptun](https://github.com/xtaci/kcptun) - 基于 KCP 协议的极其简单和快速的 udp 隧道。
- [lhttp](https://github.com/fanux/lhttp) - 强大的 websocket 框架,更轻松地构建你的 IM 服务器。
- [linkio](https://github.com/ian-kent/linkio) - Reader/Writer 接口的网络链路速度模拟。
- [llb](https://github.com/kirillDanshin/llb) - 这是一个非常简单但快速的代理服务器后端。对于快速重定向到具有零内存分配和快速响应的预定义域非常有用。
- [mdns](https://github.com/hashicorp/mdns) - Golang 中的简单 mDNS(多播 DNS)客户端/服务器库。
- [mqttPaho](https://eclipse.org/paho/clients/golang/) - Paho Go 客户端提供了一个 MQTT 客户端库,用于通过 TCP、TLS 或 WebSockets 连接到 MQTT brokers。
- [natiu-mqtt](https://github.com/soypat/natiu-mqtt) - 一个非常简单、非分配、低级别的 MQTT 实现,非常适合嵌入式系统。
- [nbio](https://github.com/lesismal/nbio) - 纯 Go 1000k+ 连接解决方案,支持 tls/http1.x/websocket 并基本兼容 net/http,具有高性能和低内存成本、非阻塞、事件驱动、易于使用的特点。
- [net](https://golang.org/x/net) - 此仓库包含补充的 Go 网络库。
- [netpoll](https://github.com/cloudwego/netpoll) - 一个高性能的非阻塞 I/O 网络框架,专注于 RPC 场景,由 ByteDance 开发。
- [NFF-Go](https://github.com/intel-go/nff-go) - 用于快速开发云和裸机高性能网络功能的框架(前身为 YANFF)。
- [nodepass](https://github.com/NodePassProject/nodepass) - 一种安全、高效的 TCP/UDP 隧道解决方案,利用预先建立的 TCP/QUIC/WebSocket 或 HTTP/2 连接,跨越网络限制提供快速、可靠的访问。
- [peerdiscovery](https://github.com/schollz/peerdiscovery) - 使用 UDP 多播的跨平台本地对等发现的纯 Go 库。
- [portproxy](https://github.com/aybabtme/portproxy) - 简单的 TCP 代理,为不支持它的 API 添加 CORS 支持。
- [psql-wire](https://github.com/jeroenrinzema/psql-wire) - PostgreSQL 服务器线协议。构建你自己的服务器并开始服务连接。
- [publicip](https://github.com/polera/publicip) - 包 publicip 返回你的面向公众的 IPv4 地址(互联网出口)。
- [quic-go](https://github.com/lucas-clemente/quic-go) - 纯 Go 中 QUIC 协议的实现。
- [sdns](https://github.com/semihalev/sdns) - 一个高性能、递归 DNS 解析器服务器,支持 DNSSEC,专注于保护隐私。
- [sftp](https://github.com/pkg/sftp) - 包 sftp 实现了 中描述的 SSH 文件传输协议。
- [ssh](https://github.com/gliderlabs/ssh) - 用于构建 SSH 服务器的更高级 API(包装 crypto/ssh)。
- [sslb](https://github.com/eduardonunesp/sslb) - 这是一个超级简单的负载均衡器,只是一个小项目,用来实现某种性能。
- [stun](https://github.com/go-rtc/stun) - RFC 5389 STUN 协议的 Go 实现。
- [tcpack](https://github.com/lim-yoona/tcpack) - tcpack 是一个基于 TCP 的应用协议,用于在 go 程序中打包和解包字节流。
- [tspool](https://github.com/two/tspool) - 一个使用工作池来提高性能和保护你服务器的 TCP 库。
- [tun2socks](https://github.com/xjasonlyu/tun2socks) - 由 [gVisor](https://gvisor.dev/) TCP/IP stack 驱动的 tun2socks 纯 Go 实现。
- [utp](https://github.com/anacrolix/utp) - Go uTP 微传输协议实现。
- [vssh](https://github.com/yahoo/vssh) - 用于通过 SSH 协议构建网络和服务器自动化的 Go 库。
- [water](https://github.com/songgao/water) - 简单的 TUN/TAP 库。
- [webrtc](https://github.com/pions/webrtc) - WebRTC API 的纯 Go 实现。
- [winrm](https://github.com/masterzen/winrm) - Go WinRM 客户端,用于在 Windows 机器上远程执行命令。
- [xtcp](https://github.com/xfxdev/xtcp) - 具有同时全双工通信、优雅关闭和自定义协议的 TCP 服务器框架。
**[⬆ 返回顶部](#contents)**
### HTTP 客户端
_用于发出 HTTP 请求的库。_
- [axios4go](https://github.com/rezmoss/axios4go) - 一个受 Axios 启发的 Go HTTP 客户端库,提供简单直观的 API 用于发出 HTTP 请求。
- [azuretls-client](https://github.com/Noooste/azuretls-client) - 一个易于使用的 100% Go 编写的 HTTP 客户端,用于欺骗 TLS/JA3 和 HTTP2 指纹。
- [fast-shot](https://github.com/opus-domini/fast-shot) - 使用 Go 最快且简单的 HTTP 客户端,精准快速地命中你的 API 目标。
- [gentleman](https://github.com/h2non/gentleman) - 功能齐全的插件驱动 HTTP 客户端库。
- [go-cleanhttp](https://github.com/hashicorp/go-cleanhttp) - 轻松获取不与其他客户端共享任何状态的 stdlib HTTP 客户端。
- [go-http-client](https://github.com/bozd4g/go-http-client) - 简单轻松地进行 http 调用。
- [go-ipmux](https://github.com/optimus-hft/go-ipmux) - 一个基于多个源 IP 复用 HTTP 请求的库。
- [go-otelroundtripper](https://github.com/NdoleStudio/go-otelroundtripper) - Go http.RoundTripper,为 HTTP 请求发出 open telemetry 指标。
- [go-req](https://github.com/wenerme/go-req) - 声明式 golang HTTP 客户端。
- [go-retryablehttp](https://github.com/hashicorp/go-retryablehttp) - Go 中的可重试 HTTP 客户端。
- [go-zoox/fetch](https://github.com/go-zoox/fetch) - 一个强大、轻量、简单的 Http 客户端,受 Web Fetch API 启发。
- [Grequest](https://github.com/lib4u/grequest) - 简单轻量的 golang http 请求包。基于强大的 net/http。
- [grequests](https://github.com/levigross/grequests) - 伟大而著名的 Requests 库的 Go “克隆”。
- [heimdall](https://github.com/gojektech/heimdall) - 具有重试和 hystrix 功能的增强型 http 客户端。
- [httpretry](https://github.com/ybbus/httpretry) - 使用重试功能丰富默认的 go HTTP 客户端。
- [pester](https://github.com/sethgrid/pester) - Go HTTP 客户端调用,支持重试、退避和并发。
- [req](https://github.com/imroc/req) - 简单的 Go HTTP 客户端,具有黑魔法(更少的代码和更高的效率)。
- [request](https://github.com/monaco-io/request) - golang 的 HTTP 客户端。如果你有 axios 或 requests 的经验,你会喜欢它。无第 3 方依赖。
- [requests](https://github.com/carlmjohnson/requests) - Gophers 的 HTTP 请求。使用 context.Context 并且不隐藏底层的 net/http.Client,使其与标准 Go API 兼容。还包括测试工具。
- [resty](https://github.com/go-resty/resty) - 受 Ruby rest-client 启发的简单 Go HTTP 和 REST 客户端。
- [rq](https://github.com/ddo/rq) - golang stdlib HTTP 客户端的更好接口。
- [sling](https://github.com/dghubble/sling) - Sling 是一个用于创建和发送 API 请求的 Go HTTP 客户端库。
- [surf](https://github.com/enetx/surf) - 高级 HTTP 客户端,支持 HTTP/1.1、HTTP/2、HTTP/3 (QUIC)、SOCKS5 代理和浏览器级 TLS 指纹识别。
- [tls-client](https://github.com/bogdanfinn/tls-client) - 类似于 net/http.Client 的 HTTP 客户端,带有选项以选择用于请求的特定客户端 TLS 指纹。
**[⬆ 返回顶部](#contents)**
## OpenGL
_在 Go 中使用 OpenGL 的库。_
- [gl](https://github.com/go-gl/gl) - OpenGL 的 Go 绑定(通过 glow 生成)。
- [glfw](https://github.com/go-gl/glfw) - GLFW 3 的 Go 绑定。
- [go-glmatrix](https://github.com/technohippy/go-glmatrix) - [glMatrix](https://glmatrix.net/) 库的 Go 移植。
- [goxjs/gl](https://github.com/goxjs/gl) - Go 跨平台 OpenGL 绑定(OS X、Linux、Windows、浏览器、iOS、Android)。
- [goxjs/glfw](https://github.com/goxjs/glfw) - 用于创建 OpenGL 上下文和接收事件的 Go 跨平台 glfw 库。
- [mathgl](https://github.com/go-gl/mathgl) - 纯 Go 数学包,专门用于 3D 数学,灵感来自 GLM。
**[⬆ 返回顶部](#contents)**
## ORM
_实现对象关系映射或数据映射技术的库。_
- [bob](https://github.com/stephenafamo/bob) - Go 的 SQL 查询构建器和 ORM/工厂生成器。SQLBoiler 的继任者。
- [bun](https://github.com/uptrace/bun) - SQL 优先的 Golang ORM。go-pg 的继任者。
- [cacheme](https://github.com/Yiling-J/cacheme-go) - 基于 Schema 的、类型化的 Go Redis 缓存/memoize 框架。
- [CQL](https://github.com/FrancoLiberali/cql) - 构建在 GORM 之上,基于自动生成的代码添加编译时验证的查询。
- [ent](https://github.com/facebook/ent) - Go 的实体框架。简单而强大的 ORM,用于建模和查询数据。
- [go-dbw](https://github.com/hashicorp/go-dbw) - 一个封装数据库操作的简单包。
- [go-firestorm](https://github.com/jschoedt/go-firestorm) - Google/Firebase Cloud Firestore 的简单 ORM。
- [go-sql](https://github.com/rushteam/gosql) - 一个用于 mysql 的简单 ORM。
- [go-sqlbuilder](https://github.com/huandu/go-sqlbuilder) - 一个灵活且强大的 SQL 字符串构建器库,加上一个零配置的 ORM。
- [go-store](https://github.com/gosuri/go-store) - 简单快速的 Go Redis 支持的键值存储库。
- [golobby/orm](https://github.com/golobby/orm) - 简单、快速、类型安全、通用的 orm,旨在让开发者快乐。
- [GORM](https://github.com/go-gorm/gorm) - Golang 的绝佳 ORM 库,旨在对开发者友好。
- [gormt](https://github.com/xxjwxc/gormt) - Mysql 数据库到 golang gorm 结构体的转换。
- [gorp](https://github.com/go-gorp/gorp) - Go 关系持久化,Go 的 ORM-ish 库。
- [grimoire](https://github.com/Fs02/grimoire) - Grimoire 是 golang 的数据库访问层和验证。(支持:MySQL、PostgreSQL 和 SQLite3)。
- [lore](https://github.com/abrahambotros/lore) - Go 的简单轻量级伪 ORM/伪结构映射环境。
- [marlow](https://github.com/marlow/marlow) - 从项目结构体生成的 ORM,用于编译时安全保证。
- [pop/soda](https://github.com/gobuffalo/pop) - 用于 MySQL、PostgreSQL 和 SQLite 的数据库迁移、创建、ORM 等。
- [Prisma](https://github.com/prisma/prisma-client-go) - Prisma Client Go,Go 的类型安全数据库访问。
- [reform](https://github.com/go-reform/reform) - Go 的更好 ORM,基于非空接口和代码生成。
- [rel](https://github.com/go-rel/rel) - Golang 的现代数据库访问层 - 可测试、可扩展,并打造为简洁优雅的 API。
- [SQLBoiler](https://github.com/volatiletech/sqlboiler) - ORM 生成器。生成一个功能丰富且 blazing-fast 的 ORM,针对你的数据库 schema 定制。
- [upper.io/db](https://github.com/upper/db) - 通过使用包装成熟数据库驱动的适配器与不同数据源交互的单一接口。
- [XORM](https://gitea.com/xorm/xorm) - 简单而强大的 Go ORM。(支持:MySQL、MyMysql、PostgreSQL、Tidb、SQLite3、MsSql 和 Oracle)。
- [Zoom](https://github.com/albrow/zoom) - 基于 Redis 构建的极快数据存储和查询引擎。
**[⬆ 返回顶部](#contents)**
## 包管理
_用于依赖和包管理的官方工具_
- [go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) - 模块是源代码交换和版本控制的单元。go 令直接支持使用模块,包括记录和解析对其他模块的依赖。
_用于包和依赖管理的非官方库。_
- [gup](https://github.com/nao1215/gup) - 更新由 "go install" 安装的二进制文件。
- [modup](https://github.com/chaindead/modup) - Go 依赖更新的终端 UI,具有过期模块检测和选择性升级功能。
- [syft](https://github.com/anchore/syft) - 一个 CLI 工具和 Go 库,用于从容器镜像和文件系统生成软件物料清单 (SBOM)。
**[⬆ 返回顶部](#contents)**
## 性能
- [ebpf-go](https://github.com/cilium/ebpf) - 提供用于加载、编译和调试 eBPF 程序的实用程序。
- [go-instrument](https://github.com/nikolaydubina/go-instrument) - 自动为所有方法和函数添加 spans。
- [jaeger](https://github.com/jaegertracing/jaeger) - 一个分布式追踪系统。
- [mm-go](https://github.com/joetifa2003/mm-go) - golang 的通用手动内存管理。
- [otelinji](https://github.com/hedhyw/otelinji) - 用于为函数添加 spans 的 OpenTelemetry 自动检测工具。
- [pixie](https://github.com/pixie-labs/pixie) - 通过 eBPF 对 Golang 应用程序进行无检测追踪。
- [profile](https://github.com/pkg/profile) - Go 的简单分析支持包。
- [statsviz](https://github.com/arl/statsviz) - 实时可视化你的 Go 应用程序运行时统计信息。
- [tracer](https://github.com/kamilsk/tracer) - 简单、轻量的追踪。
**[⬆ 返回顶部](#contents)**
## 查询语言
- [api-fu](https://github.com/ccbrown/api-fu) - 全面的 GraphQL 实现。
- [dasel](https://github.com/tomwright/dasel) - 使用命令行中的选择器查询和更新数据结构。类似于 jq/yq,但支持 JSON、YAML、TOML 和 XML,具有零运行时依赖。
- [gojsonq](https://github.com/thedevsaddam/gojsonq) - 一个简单的 Go 包,用于查询 JSON 数据。
- [goven](https://github.com/SeldonIO/goven) - 适用于任何数据库 schema 的即插即用查询语言。
- [gqlgen](https://github.com/99designs/gqlgen) - 基于 go generate 的 graphql 服务器库。
- [grapher](https://github.com/reaganiwadha/grapher) - 利用 Go 泛型的 GraphQL 字段构建器,具有额外的实用程序和功能。
- [graphql](https://github.com/neelance/graphql-go) - 注重易用性的 GraphQL 服务器。
- [graphql-go](https://github.com/graphql-go/graphql) - Go 的 GraphQL 实现。
- [gws](https://github.com/Zaba505/gws) - Apollos 的 "GraphQL over Websocket" 客户端和服务器实现。
- [jsonpath](https://github.com/AsaiYusuke/jsonpath) - 用于基于 JSONPath 语法检索 JSON 部分的查询库。
- [jsonql](https://github.com/elgs/jsonql) - Golang 中的 JSON 查询表达式库。
- [jsonslice](https://github.com/bhmj/jsonslice) - 具有高级过滤器的 Jsonpath 查询。
- [mql](https://github.com/hashicorp/mql) - 模型查询语言 (mql) 是一种用于你的数据库模型的查询语言。
- [play](https://github.com/paololazzari/play) - 一个 TUI playground,用于实验你喜欢的程序,如 grep、sed、awk、jq 和 yq。
- [rql](https://github.com/a8m/rql) - REST API 的资源查询语言。
- [rqp](https://github.com/timsolov/rest-query-parser) - REST API 的查询解析器。支持过滤、验证,查询中直接支持 `AND`、`OR` 操作。
- [straf](https://github.com/SonicRoshan/straf) - 轻松将 Golang 结构体转换为 GraphQL 对象。
**[⬆ 返回顶部](#contents)**
## 反射
- [copy](https://github.com/gotidy/copy) - 用于快速复制不同类型结构体的包。
- [Deepcopier](https://github.com/ulule/deepcopier) - Go 的简单结构体复制。
- [go-deepcopy](https://github.com/tiendc/go-deepcopy) - 快速深拷贝库。
- [goenum](https://github.com/lvyahui8/goenum) - 一个基于泛型和反射的通用枚举结构,允许你快速定义枚举并使用一组有用的默认方法。
- [gotype](https://github.com/wzshiming/gotype) - Golang 源代码解析,用法类似 reflect 包。
- [gpath](https://github.com/tenntenn/gpath) - 在反射中使用 Go 表达式简化访问结构体字段的库。
- [objwalker](https://github.com/rekby/objwalker) - 通过反射遍历 go 对象。
- [reflectpro](https://github.com/gontainer/reflectpro) - go 的调用者、复制器、getter 和 setter。
- [reflectutils](https://github.com/muir/reflectutils) - 使用反射的助手:结构体标签解析;递归遍历;从字符串填充值。
**[⬆ 返回顶部](#contents)**
## 资源嵌入
- [debme](https://github.com/leaanthony/debme) - 从现有的 `embed.FS` 子目录创建一个 `embed.FS`。
- [embed](https://pkg.go.dev/embed) - 包 embed 提供对嵌入在正在运行的 Go 程序中的文件的访问。
- [rebed](https://github.com/soypat/rebed) - 从 Go 1.16 的 `embed.FS` 类型重建文件夹结构和文件。
- [vfsgen](https://github.com/shurcooL/vfsgen) - 生成一个静态实现给定虚拟文件系统的 vfsdata.go 文件。
**[⬆ 返回顶部](#contents)**
## 科学与数据分析
_用于科学计算和数据分析的库。_
- [assocentity](https://github.com/ndabAP/assocentity) - 包 assocentity 返回单词到给定实体的平均距离。
- [bradleyterry](https://github.com/seanhagen/bradleyterry) - 提供用于成对比较的 Bradley-Terry 模型。
- [calendarheatmap](https://github.com/nikolaydubina/calendarheatmap) - 纯 Go 中的日历热图,灵感来自 Github 贡献活动。
- [chart](https://github.com/vdobler/chart) - Go 的简单图表绘制库。支持许多图形类型。
- [dataframe-go](https://github.com/rocketlaunchr/dataframe-go) - 用于机器学习和统计的数据帧(类似于 pandas)。
- [decimal](https://github.com/db47h/decimal) - 包 decimal 实现了任意精度的十进制浮点运算。
- [evaler](https://github.com/soniah/evaler) - 简单的浮点算术表达式求值器。
- [ewma](https://github.com/VividCortex/ewma) - 指数加权移动平均。
- [geom](https://github.com/skelterjohn/geom) - golang 的 2D 几何。
- [go-dsp](https://github.com/mjibson/go-dsp) - Go 的数字信号处理。
- [go-estimate](https://github.com/milosgajdos/go-estimate) - Go 中的状态估计和滤波算法。
- [go-gt](https://github.com/ThePaw/go-gt) - 用 “Go” 语言编写的图论算法。
- [go-hep](https://github.com/go-hep/hep) - 一组库和工具,用于轻松执行高能物理分析。
- [godesim](https://github.com/soypat/godesim) - 用于基于事件的模拟的扩展/多变量 ODE 求解器框架,具有简单的 API。
- [goent](https://github.com/kzahedi/goent) - 熵度量的 GO 实现。
- [gograph](https://github.com/hmdsefi/gograph) - 一个 golang 通用图库,提供数学图论和算法。
- [gonum](https://github.com/gonum/gonum) - Gonum 是 Go 编程语言的一组数值库。它包含用于矩阵、统计、优化等的库。
- [gonum/plot](https://github.com/gonum/plot) - gonum/plot 提供了一个用于在 Go 中构建和绘制图表的 API。
- [goraph](https://github.com/gyuho/goraph) - 纯 Go 图论库(数据结构、算法可视化)。
- [gosl](https://github.com/cpmech/gosl) - Go 科学库,用于线性代数、FFT、几何、NURBS、数值方法、概率、优化、微分方程等。
- [GoStats](https://github.com/OGFris/GoStats) - GoStats 是一个开源 GoLang 库,主要用于机器学习领域的数学统计,它涵盖了大多数统计测量函数。
- [graph](https://github.com/yourbasic/graph) - 基本图算法库。
- [hdf5](https://github.com/scigolib/hdf5) - 用于科学数据存储和交换的 HDF5 文件格式的纯 Go 实现。
- [insyra](https://github.com/HazelnutParadise/insyra) - 具有统计、可视化、Parquet 支持和 Python 集成的数据分析库。
- [jsonl-graph](https://github.com/nikolaydubina/jsonl-graph) - 操作 JSONL 图表的工具,支持 graphviz。
- [matlab](https://github.com/scigolib/matlab) - 用于读写 MATLAB .mat 文件(v5-v7.3)的纯 Go 库,无需 CGO。
- [MatProInterface.go](https://github.com/MatProGo-dev/MatProInterface.go) - MatProInterface.go 是一个开源包,用于在 Go 中定义数学程序(例如,凸优化问题)。
- [ode](https://github.com/ChristopherRabotin/ode) - 常微分方程 (ODE) 求解器,支持扩展状态和基于通道的迭代停止条件。
- [orb](https://github.com/paulmach/orb) - 2D 几何类型,支持裁剪、GeoJSON 和 Mapbox Vector Tile。
- [pagerank](https://github.com/alixaxel/pagerank) - 在 Go 中实现的加权 PageRank 算法。
- [piecewiselinear](https://github.com/sgreben/piecewiselinear) - 微小的线性插值库。
- [PiHex](https://github.com/claygod/PiHex) - 十六进制数 Pi 的 “Bailey-Borwein-Plouffe” 算法的实现。
- [Poly](https://github.com/bebop/poly) - 用于工程生物体的 Go 包。
- [rootfinding](https://github.com/khezen/rootfinding) - 用于求二次函数根的寻根算法库。
- [sparse](https://github.com/james-bowman/sparse) - 用于线性代数的 Go 稀疏矩阵格式,支持科学和机器学习应用,兼容 gonum 矩阵库。
- [stats](https://github.com/montanaflynn/stats) - Golang 标准库中缺少的常用函数的统计包。
- [streamtools](https://github.com/nytlabs/streamtools) - 用于处理数据流的通用图形工具。
- [TextRank](https://github.com/DavidBelicza/TextRank) - Golang 中的 TextRank 实现,具有可扩展功能(摘要、加权、短语提取)和多线程支持。
- [topk](https://github.com/keilerkonzept/topk) - 滑动窗口和常规 top-K sketches,基于 HeavyKeeper 算法。
- [triangolatte](https://github.com/tchayen/triangolatte) - 2D 三角剖分库。允许将线条和多边形(均基于点)转换为 GPU 的语言。
**[⬆ 返回顶部](#contents)**
## 安全
_用于帮助提高应用程序安全性的库。_
- [acmetool](https://github.com/hlandau/acme) - 具有自动续订功能的 ACME(Let's Encrypt)客户端工具。
- [acopw-go](https://sr.ht/~jamesponddotco/acopw-go/) - 小型的加密安全密码生成器包,用于 Go。
- [acra](https://github.com/cossacklabs/acra) - 网络加密代理,用于保护基于数据库的应用程序免受数据泄露:强大的选择性加密、SQL 注入预防、入侵检测系统。
- [age](https://github.com/FiloSottile/age) - 一个简单、现代且安全的加密工具(和 Go 库),具有小的显式密钥、无配置选项和 UNIX 风格的可组合性。
- [argon2-hashing](https://github.com/andskur/argon2-hashing) - Go 的 argon2 包的轻量包装器,与 Go 的标准库 Bcrypt 和 simple-scrypt 包非常相似。
- [autocert](https://pkg.go.dev/golang.org/x/crypto/acme/autocert) - 自动配置 Let's Encrypt 证书并启动 TLS 服务器。
- [BadActor](https://github.com/jaredfolkins/badactor) - 内存中、应用程序驱动的狱卒,本着 fail2ban 的精神构建。
- [beelzebub](https://github.com/mariocandela/beelzebub) - 一个安全的低代码蜜罐框架,利用 AI 进行系统虚拟化。
- [booster](https://github.com/anatol/booster) - 具有全盘加密支持的快速 initramfs 生成器。
- [Cameradar](https://github.com/Ullaakut/cameradar) - 用于远程入侵监控摄像头 RTSP 流的工具和库。
- [certificates](https://github.com/mvmaasakkers/certificates) - 一个固执己见的生成 TLS 证书的工具。
- [CertMagic](https://github.com/caddyserver/certmagic) - 成熟、健壮且强大的 ACME 客户端集成,用于完全管理的 TLS 证书颁发和续订。
- [Coraza](https://github.com/corazawaf/coraza) - 企业级、兼容 modsecurity 和 OWASP CRS 的 WAF 库。
- [dongle](https://github.com/golang-module/dongle) - 一个简单、语义化且对开发者友好的 golang 包,用于编码/解码和加密/解密。
- [encid](https://github.com/bobg/encid) - 编和解码加密的整数 ID。
- [entpassgen](https://github.com/andreimerlescu/entpassgen) - 熵密码生成器,具有广泛的命令行参数,可安全生成随机字符串,包括数字、密码,以及使用晦涩字典单词混合符号和数字构建的密码。
- [firewalld-rest](https://github.com/prashantgupta24/firewalld-rest) - 一个 REST 应用程序,用于在 linux 服务器上动态更新 firewalld 规则。
- [go-generate-password](https://github.com/m1/go-generate-password) - 可以在 CLI 上或作为库使用的密码生成器。
- [go-htpasswd](https://github.com/tg123/go-htpasswd) - Go 的 Apache htpasswd 解析器。
- [go-password-validator](https://github.com/lane-c-wagner/go-password-validator) - 基于原始加密熵值的密码验证器。
- [go-peer](https://github.com/number571/go-peer) - 用于创建安全和匿名去中心化系统的软件库。
- [go-yara](https://github.com/hillu/go-yara) - [YARA](https://github.com/plusvic/yara) 的 Go 绑定,即“恶意软件研究人员(以及其他人)的模式匹配瑞士军刀”。
- [goArgonPass](https://github.com/dwin/goArgonPass) - Argon2 密码哈希和验证,旨在与现有的 Python 和 PHP 实现兼容。
- [goSecretBoxPassword](https://github.com/dwin/goSecretBoxPassword) - 一个可能偏执的包,用于安全地哈希和加密密码。
- [Interpol](https://github.com/avahidi/interpol) - 基于规则的数据生成器,用于模糊测试和渗透测试。
- [lego](https://github.com/go-acme/lego) - 纯 Go ACME 客户端库和 CLI 工具(与 Let's Encrypt 一起使用)。
- [luks.go](https://github.com/anatol/luks.go) - 管理 LUKS 分区的纯 Golang 库。
- [memguard](https://github.com/awnumar/memguard) - 一个用于处理内存中敏感值的纯 Go 库。
- [multikey](https://github.com/adrianosela/multikey) - 基于 Shamir 秘密共享算法的 n-out-of-N 密钥加密/解密框架。
- [nacl](https://github.com/kevinburke/nacl) - NaCL API 集的 Go 实现。
- [optimus-go](https://github.com/pjebs/optimus-go) - 使用 Knuth 算法的 ID 哈希和混淆。
- [passlib](https://github.com/hlandau/passlib) - 面向未来的密码哈希库。
- [passwap](https://github.com/zitadel/passwap) - 提供不同密码哈希算法之间的统一实现。
- [qrand](https://github.com/bitfield/qrand) - ANU Quantum Numbers (AQN) API 的客户端,提供量子力学安全的随机数据。
- [SafeDep/vet](https://github.com/safedep/vet) - 防止恶意开源包。
- [secret](https://github.com/rsjethani/secret) - 防止你的机密泄露到日志、std* 等中。
- [secure](https://github.com/unrolled/secure) - Go 的 HTTP 中间件,有助于实现一些快速的安全胜利。
- [secureio](https://github.com/xaionaro-go/secureio) - 基于 XChaCha20-poly1305、ECDH 和 ED25519 的 `io.ReadWriteCloser` 的密钥交换+认证+加密包装器和多路复用器。
- [simple-scrypt](https://github.com/elithrar/simple-scrypt) - Scrypt 包,具有简单、明显的 API 和内置的自动成本校准。
- [ssh-vault](https://github.com/ssh-vault/ssh-vault) - 使用 ssh 密钥进行加密/解密。
- [sslmgr](https://github.com/adrianosela/sslmgr) - 通过围绕 acme/autocert 的高级包装器轻松搞定 SSL 证书。
- [teler-waf](https://github.com/kitabisa/teler-waf) - teler-waf 是一个 Go HTTP 中间件,提供 teler IDS 功能以防止基于 Web 的攻击并提高基于 Go 的 Web 应用程序的安全性。它是高度可配置的,易于集成到现有的 Go 应用程序中。
- [themis](https://github.com/cossacklabs/themis) - 用于解决典型数据安全任务(安全数据存储、安全消息传递、零知识证明认证)的高级加密库,支持 14 种语言,最适合多平台应用程序。
- [urusai](https://github.com/calpa/urusai) - Urusai(日语中的“吵闹”)是随机 HTTP/DNS 流量噪声生成器的 Go 实现,通过在浏览时创建数字烟幕来帮助保护隐私。
**[⬆ 返回顶部](#contents)**
## 序列化
_用于二进制序列化的库和工具。_
- [bambam](https://github.com/glycerine/bambam) - 从 go 生成 Cap'n Proto schemas 的生成器。
- [bel](https://github.com/32leaves/bel) - 从 Go 结构体/接口生成 TypeScript 接口。对 JSON RPC 有用。
- [binstruct](https://github.com/ghostiam/binstruct) - 用于将数据映射
- [apitest](https://apitest.dev) - 简单且可扩展的 REST 服务或 HTTP handler 行为测试库,支持 mock 外部 http 调用和渲染序列图。
- [arch-go](https://github.com/arch-go/arch-go) - Go 项目的架构测试工具。
- [assert](https://github.com/go-playground/assert) - 基础断言库,与原生 go testing 配合使用,提供构建自定义断言的积木。
- [baloo](https://github.com/h2non/baloo) - 表达力强且通用的端到端 HTTP API 测试变得简单。
- [be](https://github.com/carlmjohnson/be) - 极简的泛型测试断言库。
- [biff](https://github.com/fulldump/biff) - 分叉测试框架,兼容 BDD。
- [charlatan](https://github.com/percolate/charlatan) - 为测试生成假接口实现的工具。
- [commander](https://github.com/SimonBaeumer/commander) - 在 windows、linux 和 osx 上测试 cli 应用程序的工具。
- [cupaloy](https://github.com/bradleyjkemp/cupaloy) - 为你的测试框架提供的简单快照测试插件。
- [dbcleaner](https://github.com/khaiql/dbcleaner) - 用于测试目的的数据库清理工具,灵感来自 Ruby 的 `database_cleaner`。
- [dft](https://github.com/abecodes/dft) - 轻量级、零依赖的 docker 容器,用于测试(或更多用途)。
- [dsunit](https://github.com/viant/dsunit) - SQL、NoSQL、结构化文件的数据存储测试。
- [embedded-postgres](https://github.com/fergusstrange/embedded-postgres) - 在 Linux、OSX 或 Windows 上本地运行真实的 Postgres 数据库,作为另一个 Go 应用程序或测试的一部分。
- [endly](https://github.com/viant/endly) - 声明式端到端功能测试。
- [envite](https://github.com/PerimeterX/envite) - 开发和测试环境管理框架。
- [fixenv](https://github.com/rekby/fixenv) - Fixture 管理引擎,灵感来自 pytest fixtures。
- [flute](https://github.com/suzuki-shunsuke/flute) - HTTP 客户端测试框架。
- [frisby](https://github.com/verdverm/frisby) - REST API 测试框架。
- [gherkingen](https://github.com/hedhyw/gherkingen) - BDD 样板代码生成器和框架。
- [ginkgo](https://onsi.github.io/ginkgo/) - Go 的 BDD 测试框架。
- [gnomock](https://github.com/orlangure/gnomock) - 使用运行在 Docker 中的真实依赖(数据库、缓存,甚至 Kubernetes 或 AWS)进行集成测试,无需 mocks。
- [go-carpet](https://github.com/msoap/go-carpet) - 在终端中查看测试覆盖率的工具。
- [go-cmp](https://github.com/google/go-cmp) - 用于在测试中比较 Go 值的包。
- [go-hit](https://github.com/Eun/go-hit) - Hit 是一个用 golang 编写的 http 集成测试框架。
- [go-httpbin](https://github.com/mccutchen/go-httpbin) - HTTP 测试和调试工具,提供各种端点用于客户端测试。
- [go-mutesting](https://github.com/zimmski/go-mutesting) - Go 源代码的变异测试。
- [go-mysql-test-container](https://github.com/arikama/go-mysql-test-container) - Golang MySQL testcontainer,帮助进行 MySQL 集成测试。
- [go-snaps](http://github.com/gkampitakis/go-snaps) - Golang 中类似 Jest 的快照测试。
- [go-test-coverage](https://github.com/vladopajic/go-test-coverage) - 报告文件覆盖率低于设定阈值的工具。
- [go-testdeep](https://github.com/maxatome/go-testdeep) - 极其灵活的 golang 深度比较,扩展了 go testing 包。
- [go-testpredicate](https://github.com/maargenton/go-testpredicate) - 具有详细诊断输出的测试谓词风格断言库。
- [go-vcr](https://github.com/dnaeon/go-vcr) - 记录和重放你的 HTTP 交互,以实现快速、确定性和准确的测试。
- [goblin](https://github.com/franela/goblin) - Go 的 Mocha 风格测试框架。
- [goc](https://github.com/qiniu/goc) - Goc 是 Go 编程语言的全面覆盖测试系统。
- [gocheck](https://labix.org/gocheck) - 比 gotest 更高级的测试框架替代品。
- [GoConvey](https://github.com/smartystreets/goconvey/) - 带有 Web UI 和实时重载的 BDD 风格框架。
- [gocrest](https://github.com/corbym/gocrest) - 用于 Go 断言的可组合 hamcrest 风格 matchers。
- [godog](https://github.com/cucumber/godog) - Go 的 Cucumber BDD 框架。
- [gofight](https://github.com/appleboy/gofight) - Golang Router 框架的 API Handler 测试。
- [gogiven](https://github.com/corbym/gogiven) - Go 的 YATSPEC 风格 BDD 测试框架。
- [gomatch](https://github.com/jfilipczyk/gomatch) - 为测试 JSON 是否符合模式而创建的库。
- [gomega](https://onsi.github.io/gomega/) - Rspec 风格的 matcher/assertion 库。
- [Gont](https://github.com/stv0g/gont) - Go 网络测试工具包,用于使用 Linux namespaces 测试构建复杂的网络拓扑。
- [gospecify](https://github.com/stesla/gospecify) - 这为测试你的 Go 代码提供了 BDD 语法。任何使用过 rspec 等库的人都会感到熟悉。
- [gosuite](https://github.com/pavlo/gosuite) - 通过利用 Go1.7 的 Subtests,为 `testing` 带来了轻量级的测试套件和 setup/teardown 功能。
- [got](https://github.com/ysmood/got) - 一个令人愉快的 golang 测试框架。
- [gotest.tools](https://github.com/gotestyourself/gotest.tools) - 一组包,用于增强 go testing 包并支持常见模式。
- [Hamcrest](https://github.com/rdrdr/hamcrest) - 流畅的声明式 Matcher 对象框架,当应用于输入值时,会产生自描述的结果。
- [httpexpect](https://github.com/gavv/httpexpect) - 简洁、声明式且易于使用的端到端 HTTP 和 REST API 测试。
- [is](https://github.com/matryer/is) - Go 的专业轻量级测试迷你框架。
- [jsonassert](https://github.com/kinbiko/jsonassert) - 用于验证你的 JSON 负载是否正确序列化的包。
- [keploy](https://github.com/keploy/keploy) - 从 API 调用自动生成测试用例和数据 Mocks。
- [omg.testingtools](https://github.com/dedalqq/omg.testingtools) - 用于更改私有字段值以进行测试的简单库。
- [restit](https://github.com/yookoala/restit) - Go 微型框架,帮助编写 RESTful API 集成测试。
- [schema](https://github.com/jgroeneveld/schema) - 用于请求和响应中使用的 JSON schemas 的快速简便的表达式匹配。
- [should](https://github.com/Kairum-Labs/should) - 零依赖的测试库,具有详细的结构差异和人类可读的错误消息。
- [stop-and-go](https://github.com/elgohr/stop-and-go) - 并发测试助手。
- [testcase](https://github.com/adamluzsi/testcase) - 用于行为驱动开发的惯用测试框架。
- [testcerts](https://github.com/madflojo/testcerts) - 在测试函数中动态生成自签名证书和证书颁发机构。
- [testcontainers-go](https://github.com/testcontainers/testcontainers-go) - 一个 Go 包,可以轻松创建和清理基于容器的依赖项,用于自动化集成/冒烟测试。干净、易于使用的 API 使开发人员能够以编程方式定义应作为测试的一部分运行的容器,并在测试完成后清理这些资源。
- [testfixtures](https://github.com/go-testfixtures/testfixtures) - Rails 风格测试 fixtures 的助手,用于测试数据库应用程序。
- [Testify](https://github.com/stretchr/testify) - 标准 go testing 包的神圣扩展。
- [testsql](https://github.com/zhulongcheng/testsql) - 在测试前从 SQL 文件生成测试数据,并在完成后清除它。
- [testza](https://github.com/MarvinJWendt/testza) - 具有漂亮彩色输出的全功能测试框架。
- [trial](https://github.com/jgroeneveld/trial) - 快速简便的可扩展断言,无需引入太多样板代码。
- [Tt](https://github.com/vcaesar/tt) - 简单多彩的测试工具。
- [wstest](https://github.com/posener/wstest) - 用于单元测试 websocket http.Handler 的 Websocket 客户端。
### Mock
- [connexions](https://github.com/cubahno/connexions) - 基于OpenAPI 3.0 规范和文件,结合多个具有有意义响应、可配置延迟和错误代码的 API。
- [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter) - 用于生成自包含 mock 对象的工具。
- [genmock](https://gitlab.com/so_literate/genmock) - Go mocking 系统,带有用于构建接口方法调用的代码生成器。
- [go-localstack](https://github.com/elgohr/go-localstack) - 在 AWS 测试中使用 localstack 的工具。
- [go-sqlmock](https://github.com/DATA-DOG/go-sqlmock) - 用于测试数据库交互的 Mock SQL 驱动程序。
- [go-txdb](https://github.com/DATA-DOG/go-txdb) - 基于单事务的数据库驱动程序,主要用于测试目的。
- [gock](https://github.com/h2non/gock) - 通用 HTTP mocking 变得简单。
- [gomock](https://github.com/uber-go/mock) - Go 编程语言的 Mocking 框架。
- [govcr](https://github.com/seborama/govcr) - Golang 的 HTTP mock:记录和重放 HTTP 交互以进行离线测试。
- [hoverfly](https://github.com/SpectoLabs/hoverfly) - HTTP(S) 代理,用于记录和模拟 REST/SOAP API,具有可扩展的中间件和易于使用的 CLI。
- [httpmock](https://github.com/jarcoal/httpmock) - 轻松 mock 外部资源的 HTTP 响应。
- [minimock](https://github.com/gojuno/minimock) - Go 接口的 Mock 生成器。
- [mockery](https://github.com/vektra/mockery) - 生成 Go 接口的工具。
- [mockfs](https://github.com/balinomad/go-mockfs) - 用于 Go 测试的 Mock 文件系统,具有错误注入和延迟模拟功能,构建于 `testing/fstest.MapFS` 之上。
- [mockhttp](https://github.com/tv42/mockhttp) - Go http.ResponseWriter 的 Mock 对象。
- [mooncake](https://github.com/GuilhermeCaruso/mooncake) - 一种为多种目的生成 mocks 的简单方法。
- [moq](https://github.com/matryer/moq) - 从任何接口生成结构的实用程序。该结构可用作测试代码中的接口 mock。
- [moxie](https://lesiw.io/moxie) - 在嵌入式结构上生成 mock 方法。
- [pgxmock](https://github.com/pashagolub/pgxmock) - 实现 [pgx - PostgreSQL Driver and Toolkit](https://github.com/jackc/pgx/) 的 mock 库。
- [timex](https://github.com/cabify/timex) - 原生 `time` 包的测试友好替代品。
- [xgo](https://github.com/xhd2015/xgo) - 一个通用的函数 mocking 库。
### Fuzzing and delta-debugging/reducing/shrinking
- [go-fuzz](https://github.com/dvyukov/go-fuzz) - 随机化测试系统。
- [Tavor](https://github.com/zimmski/tavor) - 通用 fuzzing 和 delta-debugging 框架。
### Selenium and browser control tools
- [cdp](https://github.com/mafredri/cdp) - Chrome Debugging Protocol 的类型安全绑定,可与实现它的浏览器或其他调试目标一起使用。
- [chromedp](https://github.com/knq/chromedp) - 一种驱动/测试 Chrome、Safari、Edge、Android Webviews 和其他支持 Chrome Debugging Protocol 的浏览器的方法。
- [playwright-go](https://github.com/mxschmitt/playwright-go) - 浏览器自动化库,使用单个 API 控制 Chromium、Firefox 和 WebKit。
- [rod](https://github.com/go-rod/rod) - 一个 Devtools 驱动程序,让 Web 自动化和抓取变得简单。
### Fail injection
- [failpoint](https://github.com/pingcap/failpoint) - Golang 的 [failpoints](https://www.freebsd.org/cgi/man.cgi?query=fail) 实现。
**[⬆ 返回顶部](#contents)**
## Text Processing
_用于解析和操作文本的库。_
另请参阅 [Natural Language Processing](#natural-language-processing) 和 [Text Analysis](#text-analysis)。
### Formatters
- [address](https://github.com/bojanz/address) - 处理地址表示、验证和格式化。
- [align](https://github.com/Guitarbum722/align) - 对齐文本的通用应用程序。
- [bytes](https://github.com/labstack/gommon/tree/master/bytes) - 格式化和解析数字字节值(10K, 2M, 3G 等)。
- [go-fixedwidth](https://github.com/ianlopshire/go-fixedwidth) - 固定宽度文本格式(带反射的编码器/解码器)。
- [go-humanize](https://github.com/dustin/go-humanize) - 将时间、数字和内存大小格式化为人类可读格式的格式化器。
- [gotabulate](https://github.com/bndr/gotabulate) - 轻松使用 Go 美化打印你的表格数据。
- [sq](https://github.com/neilotoole/sq) - 将 SQL 数据库或 或 Excel 等文档格式的数据转换为 JSON、Excel、CSV、HTML、Markdown、XML 和 YAML 等格式。
- [textwrap](https://github.com/isbm/textwrap) - 在行尾换行文本。Python `textwrap` 模块的实现。
### Markup Languages
- [bafi](https://github.com/mmalcek/bafi) - 使用模板将 JSON、BSON、YAML、XML 通用翻译为任何格式。
- [bbConvert](https://github.com/CalebQ42/bbConvert) - 将 bbCode 转换为 HTML,允许你添加对自定义 bbCode 标签的支持。
- [blackfriday](https://github.com/russross/blackfriday) - Go 中的 Markdown 处理器。
- [go-output-format](https://github.com/drewstinnett/go-output-format) - 在你的命令行应用程序中将 go 结构输出为多种格式(YAML/JSON 等)。
- [go-toml](https://github.com/pelletier/go-toml) - 带有查询支持和方便 cli 工具的 TOML 格式 Go 库。
- [goldmark](https://github.com/yuin/goldmark) - 用 Go 编写的 Markdown 解析器。易于扩展,符合标准 (CommonMark),结构良好。
- [goq](https://github.com/andrewstuart/goq) - 使用带有 jQuery 语法的 struct tags 对 HTML 进行声明式反序列化(使用 GoQuery)。
- [html-to-markdown](https://github.com/JohannesKaufmann/html-to-markdown) - 将 HTML 转换为 Markdown。甚至适用于整个网站,并可通过规则进行扩展。
- [htmlquery](https://github.com/antchfx/htmlquery) - 用于 HTML 的 XPath 查询包,让你可以通过 XPath 表达式从 HTML 文档中提取数据或求值。
- [htmlyaml](https://github.com/nikolaydubina/htmlyaml) - 在 Go 中将 YAML 丰富渲染为 HTML。
- [htree](https://github.com/bobg/htree) - 遍历、导航、过滤和以其他方式处理 [html.Node](https://pkg.go.dev/golang.org/x/net/html#Node) 对象树。
- [mxj](https://github.com/clbanning/mxj) - 将 XML 编码/解码为 JSON 或 map[string]interface{};使用点符号路径和通配符提取值。取代 x2j 和 j2x 包。
- [toml](https://github.com/BurntSushi/toml) - TOML 配置格式(带反射的编码器/解码器)。
### Parsers/Encoders/Decoders
- [allot](https://github.com/sbstjn/allot) - CLI 工具和机器人的占位符和通配符文本解析。
- [codetree](https://github.com/aerogo/codetree) - 解析缩进代码(python, pixy, scarlet 等)并返回树结构。
- [commonregex](https://github.com/mingrammer/commonregex) - Go 的常用正则表达式集合。
- [did](https://github.com/ockam-network/did) - Go 中的 DID (Decentralized Identifiers) 解析器和 Stringer。
- [doi](https://github.com/hscells/doi) - Go 中的文档对象标识符 解析器。
- [editorconfig-core-go](https://github.com/editorconfig/editorconfig-core-go) - Go 的 Editorconfig 文件解析器和操作器。
- [encdec](https://github.com/mickep76/encdec) - 为编码器和解码器提供通用接口的包。
- [go-fasttld](https://github.com/elliotwutingfeng/go-fasttld) - 高性能有效顶级域名 提取模块。
- [go-nmea](https://github.com/adrianmo/go-nmea) - Go 语言的 NMEA 解析器库。
- [go-querystring](https://github.com/google/go-querystring) - 用于将结构编码为 URL 查询参数的 Go 库。
- [go-vcard](https://github.com/emersion/go-vcard) - 解析和格式化 vCard。
- [godump](https://github.com/yassinebenaid/godump) - 轻松漂亮地打印任何 GO 变量,是 Go `fmt.Printf("%#v")` 的替代品。
- [godump (goforj)](https://github.com/goforj/godump) - 漂亮打印 Go 结构体,支持 Laravel/Symfony 风格的转储、完整类型信息、彩色 CLI 输出、循环检测和私有字段访问。
- [gofeed](https://github.com/mmcdole/gofeed) - 在 Go 中解析 RSS 和 Atom feeds。
- [gographviz](https://github.com/awalterschulze/gographviz) - 解析 Graphviz DOT 语言。
- [gonameparts](https://github.com/polera/gonameparts) - 将人名解析为单独的姓名部分。
- [ltsv](https://github.com/Wing924/ltsv) - Go 的高性能 [LTSV (Labeled Tab Separated Value)](http://ltsv.org/) 读取器。
- [normalize](https://github.com/avito-tech/normalize) - 清理、规范化和比较模糊文本。
- [parseargs-go](https://github.com/nproc/parseargs-go) - 理解引号和反斜杠的字符串参数解析器。
- [prattle](https://github.com/askeladdk/prattle) - 简单高效地扫描和解析 LL(1) 文法。
- [sh](https://github.com/mvdan/sh) - Shell 解析器和格式化器。
- [tokenizer](https://github.com/bzick/tokenizer) - 将任何字符串、切片或无限缓冲区解析为任何 tokens。
- [vdf](https://github.com/andygrunwald/vdf) - 用 Go 编写的 Valves 数据格式(称为 vdf)的词法分析器和解析器。
- [when](https://github.com/olebedev/when) - 带有可插拔规则的自然 EN 和 RU 语言日期/时间解析器。
- [xj2go](https://github.com/stackerzzq/xj2go) - 将 xml 或 json 转换为 go 结构体。
### Regular Expressions
- [coregex](https://github.com/coregx/coregex) - 生产级 regex 引擎,采用 Rust regex-crate 架构:多引擎 DFA/NFA,SIMD 预过滤器,stdlib 的直接替代品。
- [genex](https://github.com/alixaxel/genex) - 计算正则表达式并将其扩展为所有匹配的字符串。
- [go-wildcard](https://github.com/IGLOU-EU/go-wildcard) - 简单轻量的通配符模式匹配。
- [goregen](https://github.com/zach-klippenstein/goregen) - 用于从正则表达式生成随机字符串的库。
- [regroup](https://github.com/oriser/regroup) - 使用 struct tags 和自动解析将 regex 表达式命名组匹配到 go 结构体中。
- [rex](https://github.com/hedhyw/rex) - 正则表达式构建器。
### Sanitation
- [bluemonday](https://github.com/microcosm-cc/bluemonday) - HTML Sanitizer。
- [gofuckyourself](https://github.com/JoshuaDoes/gofuckyourself) - 基于清理的 Go 脏话过滤器。
### Scrapers
- [colly](https://github.com/asciimoo/colly) - 为 Gophers 打造的快速优雅的 Scraping 框架。
- [dataflowkit](https://github.com/slotix/dataflowkit) - 将网站转换为结构化数据的 Web 抓取框架。
- [go-recipe](https://github.com/kkyr/go-recipe) - 用于从网站抓取食谱的包。
- [go-sitemap-parser](https://github.com/aafeher/go-sitemap-parser) - 用于解析 Sitemaps 的 Go 语言库。
- [GoQuery](https://github.com/PuerkitoBio/goquery) - GoQuery 为 Go 语言带来了类似于 jQuery 的语法和一组功能。
- [pagser](https://github.com/foolin/pagser) - Pagser 是一个简单、可扩展、可配置的解析和反序列化 html 页面到结构体的工具,基于 goquery 和 struct tags,用于 golang 爬虫。
- [Tagify](https://github.com/zoomio/tagify) - 从给定来源生成一组标签。
- [walker](https://github.com/cyucelen/walker) - 从任何来源无缝获取分页数据。包含简单和高性能的 API 抓取。
- [xurls](https://github.com/mvdan/xurls) - 从文本中提取 url。
### RSS
- [podcast](https://github.com/eduncan911/podcast) - Golang 中 iTunes 兼容和 RSS 2.0 的 Podcast 生成器
### Utility/Miscellaneous
- [go-runewidth](https://github.com/mattn/go-runewidth) - 获取字符或字符串固定宽度的函数。
- [kace](https://github.com/codemodus/kace) - 涵盖常见首字母缩略词的常见大小写转换。
- [lancet](https://github.com/duke-git/lancet) - 一个全面、类似 Lodash 的 Go 实用库
- [petrovich](https://github.com/striker2000/petrovich) - Petrovich 是将俄语名称根据给定的语法规则进行词形变化的库。
- [radix](https://github.com/yourbasic/radix) - 快速字符串排序算法。
- [TySug](https://github.com/Dynom/TySug) - 关于键盘布局的替代建议。
- [uniwidth](https://github.com/unilibs/uniwidth) - 具有 SWAR 优化、O(1) 查找表和 ZWJ emoji 支持的高性能 Unicode 字符宽度计算。
- [w2vgrep](https://github.com/arunsupe/semantic-grep) - 一个语义 grep 工具,使用词嵌入来查找语义相似的匹配项。例如,搜索 "death" 将找到 "dead"、"killing"、"murder"。
**[⬆ 返回顶部](#contents)**
## Third-party APIs
_用于访问第三方 API 的库。_
- [airtable](https://github.com/mehanizm/airtable) - [Airtable API](https://airtable.com/api) 的 Go 客户端库。
- [anaconda](https://github.com/ChimeraCoder/anaconda) - Twitter 1.1 API 的 Go 客户端库。
- [appstore-sdk-go](https://github.com/Kachit/appstore-sdk-go) - AppStore Connect API 的非官方 Golang SDK。
- [aws-encryption-sdk-go](https://github.com/chainifynet/aws-encryption-sdk-go) - [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/index.html) 的非官方 Go SDK 实现。
- [aws-sdk-go](https://github.com/aws/aws-sdk-go-v2) - Go 编程语言的官方 AWS SDK。
- [bqwriter](https://github.com/OTA-Insight/bqwriter) - 用于将数据高吞吐量写入 [Google BigQuery](https://cloud.google.com/bigquery) 的高级 Go 库。
- [brewerydb](https://github.com/naegelejd/brewerydb) - 用于访问 BreweryDB API 的 Go 库。
- [cachet](https://github.com/andygrunwald/cachet) - [Cachet (开源状态页系统)](https://cachethq.io/) 的 Go 客户端库。
- [circleci](https://github.com/jszwedko/go-circleci) - 用于与 CircleCI API 交互的 Go 客户端库。
- [clarifai](https://github.com/samuelcouch/clarifai) - 用于与 Clarifai API 接口的 Go 客户端库。
- [codeship-go](https://github.com/codeship/codeship-go) - 用于与 Codeship API v2 交互的 Go 客户端库。
- [coinpaprika-go](https://github.com/coinpaprika/coinpaprika-api-go-client) - 用于与 Coinpaprika API 交互的 Go 客户端库。
- [device-check-go](https://github.com/rinchsan/device-check-go) - 用于与 [iOS DeviceCheck API](https://developer.apple.com/documentation/devicecheck) v1 交互的 Go 客户端库。
- [discordgo](https://github.com/bwmarrin/discordgo) - Discord Chat API 的 Go 绑定。
- [disgo](https://github.com/switchupcb/disgo) - Discord API 的 Go API Wrapper。
- [dusupay-sdk-go](https://github.com/Kachit/dusupay-sdk-go) - Go 的非官方 Dusupay 支付网关 API 客户端
- [ethrpc](https://github.com/onrik/ethrpc) - Ethereum JSON RPC API 的 Go 绑定。
- [facebook](https://github.com/huandu/facebook) - 支持 Facebook Graph API 的 Go 库。
- [fasapay-sdk-go](https://github.com/Kachit/fasapay-sdk-go) - Golang 的非官方 Fasapay 支付网关 XML API 客户端。
- [fcm](https://github.com/maddevsio/fcm) - Firebase Cloud Messaging 的 Go 库。
- [gads](https://github.com/emiddleton/gads) - Google Adwords 非官方 API。
- [gcm](https://github.com/Aorioli/gcm) - Google Cloud Messaging 的 Go 库。
- [geo-golang](https://github.com/codingsince1985/geo-golang) - 访问 [Google Maps](https://developers.google.com/maps/documentation/geocoding/intro)、[MapQuest](https://developer.mapquest.com/documentation/api/geocoding/)、[Nominatim](https://nominatim.org/release-docs/latest/api/Overview/)、[OpenCage](https://opencagedata.com/api)、[Bing](https://msdn.microsoft.com/en-us/library/ff701715.aspx)、[Mapbox](https://www.mapbox.com/developers/api/geocoding/) 和 [OpenStreetMap](https://wiki.openstreetmap.org/wiki/Nominatim) 地理编码/反向地理编码 API 的 Go 库。
- [github](https://github.com/google/go-github) - 用于访问 GitHub REST API v3 的 Go 库。
- [githubql](https://github.com/shurcooL/githubql) - 用于访问 GitHub GraphQL API v4 的 Go 库。
- [go-atlassian](https://github.com/ctreminiom/go-atlassian) - 用于访问 [Atlassian Cloud](https://www.atlassian.com/enterprise/cloud) 服务(Jira、Jira Service Management、Jira Agile、Confluence、Admin Cloud)的 Go 库
- [go-aws-news](https://github.com/circa10a/go-aws-news) - 获取 AWS 最新消息的 Go 应用程序和库。
- [go-chronos]() - 与 [Chronos](https://mesos.github.io/chronos/) Job Scheduler 交互的 Go 库
- [go-gerrit](https://github.com/andygrunwald/go-gerrit) - [Gerrit Code Review](https://www.gerritcodereview.com/) 的 Go 客户端库。
- [go-hacknews](https://github.com/PaulRosset/go-hacknews) - HackerNews API 的微型 Go 客户端。
- [go-here](https://github.com/abdullahselek/go-here) - 围绕 HERE 基于位置的 API 的 Go 客户端库。
- [go-hibp](https://github.com/wneessen/go-hibp) - "Have I Been Pwned" API 的简单 Go 绑定。
- [go-imgur](https://github.com/koffeinsource/go-imgur) - [imgur](https://imgur.com) 的 Go 客户端库
- [go-jira](https://github.com/andygrunwald/go-jira) - [Atlassian JIRA](https://www.atlassian.com/software/jira) 的 Go 客户端库
- [go-lark](https://github.com/go-lark/lark) - 一个易于使用的非官方 SDK,用于 [Feishu](https://open.feishu.cn/) 和 [Lark](https://open.larksuite.com/) 开放平台。
- [go-marathon](https://github.com/gambol99/go-marathon) - 与 Mesosphere 的 Marathon PAAS 交互的 Go 库。
- [go-myanimelist](https://github.com/nstratos/go-myanimelist) - 用于访问 [MyAnimeList API](https://myanimelist.net/apiconfig/references/api/v2) 的 Go 客户端库。
- [go-openai](https://github.com/sashabaranov/go-openai) - Go 的 OpenAI ChatGPT、DALL·E、Whisper API 库。
- [go-openproject](https://github.com/manuelbcd/go-openproject) - 与 [OpenProject](https://docs.openproject.org/api/) API 交互的 Go 客户端库。
- [go-postman-collection](https://github.com/rbretecher/go-postman-collection) - 用于处理 [Postman Collections](https://learning.getpostman.com/docs/postman/collections/creating-collections/) 的 Go 模块(与 Insomnia 兼容)。
- [go-redoc](https://github.com/mvrilo/go-redoc) - 使用 [ReDoc](https://redocly.com/) 的 Go 嵌入式 OpenAPI/Swagger 文档 UI。
- [go-restcountries](https://github.com/chriscross0/go-restcountries) - [REST Countries API](https://countrylayer.com/) 的 Go 库。
- [go-salesforce](https://github.com/k-capehart/go-salesforce) - 与 [Salesforce REST API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_list.htm) 交互的 Go 客户端库。
- [go-sophos](https://github.com/esurdam/go-sophos) - [Sophos UTM REST API](https://www.sophos.com/en-us/medialibrary/PDFs/documentation/UTMonAWS/Sophos-UTM-RESTful-API.pdf?la=en) 的 Go 客户端库,零依赖。
- [go-swagger-ui](https://github.com/esurdam/go-swagger-ui) - 包含预编译 [Swagger UI](https://swagger.io/tools/swagger-ui/) 的 Go 库,用于服务 swagger json。
- [go-telegraph](https://gitlab.com/toby3d/telegraph) - Telegraph 发布平台 API 客户端。
- [go-trending](https://github.com/andygrunwald/go-trending) - 用于访问 Github 上[热门仓库](https://github.com/trending)和[开发者](https://github.com/trending/developers)的 Go 库。
- [go-unsplash](https://github.com/hbagdi/go-unsplash) - [Unsplash.com](https://unsplash.com) API 的 Go 客户端库。
- [go-xkcd](https://github.com/nishanths/go-xkcd) - xkcd API 的 Go 客户端。
- [go-yapla](https://gitlab.com/adrienK/go-yapla) - Yapla v2.0 API 的 Go 客户端库。
- [goagi](https://github.com/staskobzar/goagi) - 用于构建 Asterisk PBX agi/fastagi 应用程序的 Go 库。
- [goami2](https://github.com/staskobzar/goami2) - Asterisk PBX 的 AMI v2 库。
- [GoFreeDB](https://github.com/FreeLeh/GoFreeDB) - 在 Google Sheets 之上提供通用和简单数据库抽象的 Golang 库。
- [gogtrends](https://github.com/groovili/gogtrends) - Google Trends 非官方 API。
- [golang-tmdb](https://github.com/cyruzin/golang-tmdb) - The Movie Database API v3 的 Golang wrapper。
- [golyrics](https://github.com/mamal72/golyrics) - Golyrics 是一个从 Wikia 网站获取音乐歌词数据的 Go 库。
- [gomalshare](https://github.com/MonaxGT/gomalshare) - Go 库 MalShare API [malshare.com](https://www.malshare.com/)
- [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - Go MusicBrainz WS2 客户端库。
- [google](https://github.com/google/google-api-go-client) - 自动生成的 Go 版 Google API。
- [google-analytics](https://github.com/chonthu/go-google-analytics) - 简单的 wrapper,用于轻松进行 google analytics 报告。
- [google-cloud](https://github.com/GoogleCloudPlatform/gcloud-golang) - Google Cloud APIs Go 客户端库。
- [gopaapi5](https://github.com/utekaravinash/gopaapi5) - [Amazon Product Advertising API 5.0](https://webservices.amazon.com/paapi5/documentation/) 的 Go 客户端库。
- [gopensky](https://github.com/navidys/gopensky) - [OpenSKY Network](https://opensky-network.org/) 实时 API(空域 ADS-B 和 Mode S 数据)的 Go 客户端实现。
- [gosip](https://github.com/koltyakov/gosip) - SharePoint 的客户端库。
- [gostorm](https://github.com/jsgilmore/gostorm) - GoStorm 是一个 Go 库,实现了在 Go 中编写与 Storm shells 通信的 Storm spouts 和 Bolts 所需的通信协议。
- [hipchat](https://github.com/andybons/hipchat) - 此项目实现了 Hipchat API 的 golang 客户端库。
- [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - 通过 XMPP 与 HipChat 通信的 golang 包。
- [igdb](https://github.com/Henry-Sarabia/igdb) - [Internet Game Database API](https://api.igdb.com/) 的 Go 客户端。
- [ip2location-io-go](https://github.com/ip2location/ip2location-io-go) - IP2Location.io API [IP2Location.io](https://www.ip2location.io/) 的 Go wrapper。
- [jokeapi-go](https://github.com/icelain/jokeapi) - [JokeAPI](https://sv443.net/jokeapi/v2/) 的 Go 客户端。
- [lark](https://github.com/chyroc/lark) - [Feishu](https://open.feishu.cn/)/[Lark](https://open.larksuite.com/) 开放 API Go SDK,支持所有开放 API 和事件回调。
- [lastpass-go](https://github.com/ansd/lastpass-go) - [LastPass](https://www.lastpass.com/) API 的 Go 客户端库。
- [libgoffi](https://github.com/clevabit/libgoffi) - 用于原生 [libffi](https://sourceware.org/libffi/) 集成的库适配器工具箱
- [Medium](https://github.com/Medium/medium-sdk-go) - Medium OAuth2 API 的 Golang SDK。
- [megos](https://github.com/andygrunwald/megos) - 用于访问 [Apache Mesos](https://mesos.apache.org/) 集群的客户端库。
- [minio-go](https://github.com/minio/minio-go) - 用于 Amazon S3 兼容云存储的 Minio Go 库。
- [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel 是一个库,用于跟踪事件并将 Mixpanel 配置文件更新从你的 go 应用程序发送到 Mixpanel。
- [newsapi-go](https://github.com/jellydator/newsapi-go) - [NewsAPI](https://newsapi.org/) 的 Go 客户端。
- [openaigo](https://github.com/otiai10/openaigo) - Go 的 OpenAI GPT3/GPT3.5 ChatGPT API 客户端库。
- [patreon-go](https://github.com/mxpv/patreon-go) - Patreon API 的 Go 库。
- [paypal](https://github.com/logpacker/PayPal-Go-SDK) - PayPal 支付 API 的 Wrapper。
- [playlyfe](https://github.com/playlyfe/playlyfe-go-sdk) - Playlyfe Rest API Go SDK。
- [pushover](https://github.com/gregdel/pushover) - Pushover API 的 Go wrapper。
- [rawg-sdk-go](https://github.com/dimuska139/rawg-sdk-go) - [RAWG Video Games Database](https://rawg.io/) API 的 Go 库
- [shopify](https://github.com/rapito/go-shopify) - 向 Shopify API 发出 CRUD 请求的 Go 库。
- [simples3](https://github.com/rhnvrm/simples3) - 使用 REST 和 V4 Signing 编写的简单无额外装饰的 AWS S3 库。
- [slack](https://github.com/slack-go/slack) - Go 中的 Slack API。
- [smite](https://github.com/sergiotapia/smitego) - 封装访问 Smite 游戏 API 的 Go 包。
- [spotify](https://github.com/rapito/go-spotify) - 访问 Spotify WEB API 的 Go 库。
- [steam](https://github.com/sostronk/go-steam) - 与 Steam 游戏服务器交互的 Go 库。
- [stripe](https://github.com/stripe/stripe-go) - Stripe API 的 Go 客户端。
- [swag](https://github.com/zc2638/swag) - 无注释,简单的 go wrapper,用于创建 swagger 2.0 兼容的 API。支持大多数路由框架,如内置、gin、chi、mux、echo、httprouter、fasthttp 等。
- [textbelt](https://github.com/dietsche/textbelt) - textbelt.com 短信消息 API 的 Go 客户端。
- [Trello](https://github.com/adlio/trello) - Trello API 的 Go wrapper。
- [TripAdvisor](https://github.com/mrbenosborne/tripadvisor-golang) - TripAdvisor API 的 Go wrapper。
- [tumblr](https://github.com/mattcunningham/gumblr) - Tumblr v2 API 的 Go wrapper。
- [uptimerobot](https://github.com/bitfield/uptimerobot) - Uptime Robot v2 API 的 Go wrapper 和命令行客户端。
- [vl-go](https://github.com/verifid/vl-go) - 围绕 VerifID 身份验证层 API 的 Go 客户端库。
- [webhooks](https://github.com/go-playground/webhooks) - GitHub 和 Bitbucket 的 Webhook 接收器。
- [wit-go](https://github.com/wit-ai/wit-go) - wit.ai HTTP API 的 Go 客户端。
- [ynab](https://github.com/brunomvsouza/ynab.go) - YNAB API 的 Go wrapper。
- [zooz](https://github.com/gojuno/go-zooz) - Zooz API 的 Go 客户端。
**[⬆ 返回顶部](#contents)**
## Utilities
_通用实用程序和工具,让你的生活更轻松。_
- [abstract](https://github.com/maxbolgarin/abstract) - 抽象和实用程序,用于消除业务逻辑中的样板代码。
- [apm](https://github.com/topfreegames/apm) - 带有 HTTP API 的 Golang 应用程序进程管理器。
- [backscanner](https://github.com/icza/backscanner) - 类似于 bufio.Scanner 的扫描器,但它以相反的顺序读取和返回行,从给定位置开始向后移动。
- [bed](https://github.com/itchyny/bed) - 用 Go 编写的类似 Vim 的二进制编辑器。
- [blank](https://github.com/Henry-Sarabia/blank) - 验证或删除字符串中的空格和空白。
- [bleep](https://github.com/sinhashubham95/bleep) - 在 Go 中对任何一组 OS 信号执行任意数量的操作。
- [boilr](https://github.com/tmrts/boilr) - 极快的 CLI 工具,用于从样板模板创建项目。
- [boring](https://github.com/alebeck/boring) - 简单的命令行 SSH 隧道管理器。
- [changie](https://github.com/miniscruff/changie) - 自动化更新日志工具,用于准备具有大量自定义选项的版本。
- [chyle](https://github.com/antham/chyle) - 使用 git 存储库的更新日志生成器,具有多种配置可能性。
- [circuit](https://github.com/cep21/circuit) - 高效且功能完整的类似 Hystrix 的 Go 断路器模式实现。
- [circuitbreaker](https://github.com/rubyist/circuitbreaker) - Go 中的断路器。
- [clipboard](https://github.com/golang-design/clipboard) - 📋 Go 中的跨平台剪贴板包。
- [clockwork](https://github.com/jonboulle/clockwork) - golang 的一个简单假时钟。
- [cmd](https://github.com/SimonBaeumer/cmd) - 用于在 osx、windows 和 linux 上执行 shell 命令的库。
- [config-file-validator](https://github.com/Boeing/config-file-validator) - 用于验证配置文件的跨平台工具。
- [contem](https://github.com/maxbolgarin/contem) - 用于优雅关闭 Go 应用程序的即插即用 context.Context 替代品。
- [cookie](https://github.com/syntaqx/cookie) - Cookie 结构解析和助手包。
- [copy-pasta](https://github.com/jutkko/copy-pasta) - 使用 S3 类似后端进行存储的通用多工作站剪贴板。
- [countries]( ) - 完整实现 ISO-3166-1、ISO-4217、ITU-T E.164、Unicode CLDR 和 IANA ccTLD 标准。
- [countries](https://github.com/pioz/countries) - 在 Go 中处理国家/地区时所需的一切。
- [create-go-app](https://github.com/create-go-app/cli) - 强大的 CLI,通过运行一个命令创建新的生产就绪项目,包括后端、前端(JavaScript、TypeScript)和部署自动化(Ansible、Docker)。
- [cryptgo](https://github.com/Gituser143/cryptgo) - Crytpgo 是一个纯粹用 Go 编写的基于 TUI 的应用程序,用于实时监控和观察加密货币价格!
- [ctop](https://github.com/bcicen/ctop) - 容器指标的 [Top-like](https://ctop.sh) 接口(例如 htop)。
- [ctxutil](https://github.com/posener/ctxutil) - 一组上下文实用函数。
- [cvt](https://github.com/shockerli/cvt) - 轻松安全地将任何值转换为另一种类型。
- [dbt](https://github.com/nikogura/dbt) - 一个用于从中央受信任的存储库运行自更新签名二进制文件的框架。
- [Death](https://github.com/vrecan/death) - 使用信号管理 go 应用程序关闭。
- [debounce](https://github.com/floatdrop/debounce) - 用 Go 编写的零分配防抖动器。
- [delve](https://github.com/derekparker/delve) - Go 调试器。
- [dive](https://github.com/wagoodman/dive) - 用于探索 Docker 镜像中每一层的工具。
- [dlog](https://github.com/kirillDanshin/dlog) - 编译时控制的记录器,使你的版本更小,而无需删除调试调用。
- [EaseProbe](https://github.com/megaease/easeprobe) - 一个简单、独立且轻量级的工具,可以用作健康/状态检查守护进程,支持 HTTP/TCP/SSH/Shell/Client/... 探测,以及 Slack/Discord/Telegram/SMS... 通知。
- [equalizer](https://github.com/reugn/equalizer) - Go 的配额管理器和速率限制器集合。
- [ergo](https://github.com/cristianoliveira/ergo) - 轻松管理在不同端口上运行的多个本地服务。
- [evaluator](https://github.com/nullne/evaluator) - 基于 s-expression 动态评估表达式。它简单且易于扩展。
- [Failsafe-go](https://github.com/failsafe-go/failsafe-go) - Go 的容错和弹性模式。
- [filetype](https://github.com/h2non/filetype) - 用于通过检查魔术数字签名来推断文件类型的小包。
- [filler](https://github.com/yaronsumel/filler) - 使用 "fill" 标签填充结构的小实用程序。
- [filter](https://github.com/gookit/filter) - 提供 Go 数据的过滤、清理和转换。
- [fzf](https://github.com/junegunn/fzf) - 用 Go 编写的命令行模糊查找器。
- [generate](https://github.com/go-playground/generate) - 在指定路径或环境变量上递归运行 go generate,并可以按 regex 过滤。
- [ghokin](https://github.com/antham/ghokin) - 针对 gherkin (cucumber, behat...) 的并行化格式化器,无外部依赖。
- [git-time-metric](https://github.com/git-time-metric/gtm) - 简单、无缝、轻量级的 Git 时间跟踪。
- [git-tools](https://github.com/kazhuravlev/git-tools) - 帮助管理 git tags 的工具。
- [gitbatch](https://github.com/isacikgoz/gitbatch) - 在一处管理你的 git 存储库。
- [gitcs](https://github.com/knbr13/gitcs/) - Git Commits 可视化工具,用于在本地机器上可视化你的 Git 提交的 CLI 工具。
- [go-actuator](https://github.com/sinhashubham95/go-actuator) - 基于 Go 的 Web 框架的生产就绪功能。
- [go-astitodo](https://github.com/asticode/go-astitodo) - 解析你的 GO 代码中的 TODO。
- [go-bind-plugin](https://github.com/wendigo/go-bind-plugin) - go:generate 工具,用于包装 golang 插件导出的符号(仅限 1.8)。
- [go-bsdiff](https://github.com/gabstv/go-bsdiff) - 纯 Go bsdiff 和 bspatch 库以及 CLI 工具。
- [go-clip](https://github.com/prashantgupta24/go-clip) - Mac 的极简剪贴板管理器。
- [go-convert](https://github.com/Eun/go-convert) - 包 go-convert 使你能够将值转换为另一种类型。
- [go-countries](https://github.com/mikekonan/go-countries) - ISO-3166 代码的轻量级查找。
- [go-dry](https://github.com/ungerik/go-dry) - Go 的 DRY(不要重复自己)包。
- [go-events](https://github.com/deatil/go-events) - 一个 go 事件和事件订阅包,类似于 wordpress hook 函数。
- [go-funk](https://github.com/thoas/go-funk) - 现代 Go 实用库,提供助手(map、find、contains、filter、chunk、reverse 等)。
- [go-health](https://github.com/Talento90/go-health) - Health 包简化了向服务添加健康检查的方式。
- [go-httpheader](https://github.com/mozillazg/go-httpheader) - 用于将结构编码为 Header 字段的 Go 库。
- [go-lambda-cleanup](https://github.com/karl-cardenas-coding/go-lambda-cleanup) - 用于删除未使用或以前版本的 AWS Lambdas 的 CLI。
- [go-lock](https://github.com/viney-shih/go-lock) - go-lock 是一个锁库,实现了读写互斥锁和读写 trylock,不会饥饿。
- [go-pattern-match](https://github.com/PhakornKiong/go-pattern-match) - 受 ts-pattern 启发的模式匹配库。
- [go-pkg](https://github.com/chenquan/go-pkg) - 一个 go 工具包。
- [go-problemdetails](https://github.com/mvmaasakkers/go-problemdetails) - 用于处理 Problem Details 的 Go 包。
- [go-qr](https://github.com/piglig/go-qr) - 原生、高质量且极简的 QR 码生成器。
- [go-rate](https://github.com/beefsack/go-rate) - Go 的定时速率限制器。
- [go-safecast](https://github.com/ccoVeille/go-safecast) - 防止整数溢出和下溢的安全数字类型转换库(解决 gosec G115 和 CWE-190)。
- [go-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - 用 Go 编写的 XML Sitemap 生成器。
- [go-trigger](https://github.com/sadlil/go-trigger) - Go-lang 全局事件触发器,使用 id 注册事件并从项目的任何地方触发事件。
- [go-tripper](https://github.com/rajnandan1/go-tripper) - Tripper 是一个用于 Go 的断路器包,允许你电路化并控制电路的状态。
- [go-type](https://github.com/mikekonan/go-types) - 提供用于存储/验证和传输 ISO-4217、ISO-3166 和其他类型的 Go 类型的库。
- [goback](https://github.com/carlescere/goback) - Go 简单的指数退避包。
- [goctx](https://github.com/zerosnake0/goctx) - 高性能获取你的上下文值。
- [godaemon](https://github.com/VividCortex/godaemon) - 用于编写守护进程的实用程序。
- [godoclive](https://github.com/syst3mctl/godoclive) - 使用 chi、gin 和 net/http 路由器的静态分析,从 Go HTTP handlers 生成交互式 API 文档。
- [godropbox](https://github.com/dropbox/godropbox) - 来自 Dropbox 的用于编写 Go 服务/应用程序的通用库。
- [gofn](https://github.com/tiendc/gofn) - 使用 Go 1.18+ 的泛型编写的高性能实用函数。
- [golarm](https://github.com/msempere/golarm) - 使用系统事件触发警报。
- [golog](https://github.com/mlimaloureiro/golog) - 简单轻量的 CLI 工具,用于跟踪你的任务时间。
- [gopencils](https://github.com/bndr/gopencils) - 小而简单的包,可轻松使用 REST APIs。
- [goplaceholder](https://github.com/michiwend/goplaceholder) - 一个生成占位符图像的小型 golang 库。
- [goreadability](https://github.com/philipjkim/goreadability) - 使用 Facebook Open Graph 和 arc90 的 readability 的网页摘要提取器。
- [goreleaser](https://github.com/goreleaser/goreleaser) - 尽可能快速轻松地交付 Go 二进制文件。
- [goreporter](https://github.com/wgliang/goreporter) - Golang 工具,可进行静态分析、单元测试、代码审查并生成代码质量报告。
- [goseaweedfs](https://github.com/linxGnu/goseaweedfs) - 具有几乎所有功能的 SeaweedFS 客户端库。
- [gostrutils](https://github.com/ik5/gostrutils) - 字符串操作和转换函数的集合。
- [gotenv](https://github.com/subosito/gotenv) - 从 Go 中的 `.env` 或任何 `io.Reader` 加载环境变量。
- [goval](https://github.com/maja42/goval) - 在 Go 中评估任意表达式。
- [graterm](https://github.com/skovtunenko/graterm) - 提供原语以在 Go 应用程序中执行有序(顺序/并发)优雅终止(即关闭)。
- [grofer](https://github.com/pesos/grofer) - 一个用 Golang 编写的系统和资源监控工具!
- [gubrak](https://github.com/novalagung/gubrak) - 带有语法糖的 Golang 实用库。它就像 lodash,但是用于 golang。
- [handy](https://github.com/miguelpragier/handy) - 许多实用程序和助手,如字符串处理程序/格式化程序和验证器。
- [healthcheck](https://github.com/kazhuravlev/healthcheck) - 一个简单但强大的 Kubernetes 就绪测试。
- [hostctl](https://github.com/guumaster/hostctl) - 使用简单命令管理 /etc/hosts 的 CLI 工具。
- [htcat](https://github.com/htcat/htcat) - 并行和管道化 HTTP GET 实用程序。
- [hub](https://github.com/github/hub) - 使用附加功能包装 git 命令,以便从终端与 github 交互。
- [immortal](https://github.com/immortal/immortal) - \*nix 跨平台(OS 不可知)supervisor。
- [jet](https://github.com/NicoNex/jet) - Just Edit Text:一个快速强大的工具,用于使用正则表达式查找和替换文件内容和名称。
- [jsend](https://github.com/clevergo/jsend) - 用 Go 编写的 JSend 实现。
- [json-log-viewer](https://github.com/hedhyw/json-log-viewer) - JSON 日志的交互式查看器。
- [jump](https://github.com/gsamokovarov/jump) - Jump 通过学习你的习惯帮助你更快地导航。
- [just](https://github.com/kazhuravlev/just) - 只是一组用于处理通用数据结构的有用函数。
- [koazee](https://github.com/wesovilabs/koazee) - 受 Lazy evaluation 和函数式编程启发的库,解决了处理数组的麻烦。
- [lang](https://github.com/maxbolgarin/lang) - 通用单行代码,用于处理变量、切片和 map,无需样板代码。
- [lets-go](https://github.com/aplescia-chwy/lets-go) - Go 模块,为 Cloud Native REST API 开发提供通用实用程序。还包含 AWS 特定实用程序。
- [limiters](https://github.com/mennanov/limiters) - Golang 中分布式应用程序的速率限制器,具有可配置的后端和分布式锁。
- [lo](https://github.com/samber/lo) - 基于 Go 1.18+ 泛型的类似 Lodash 的 Go 库(map、filter、contains、find...)。
- [loncha](https://github.com/kazu/loncha) - 高性能切片实用程序。
- [lrserver](https://github.com/jaschaephraim/lrserver) - Go 的 LiveReload 服务器。
- [mani](https://github.com/alajmo/mani) - 帮助你管理多个存储库的 CLI 工具。
- [mc](https://github.com/minio/mc) - Minio Client 提供了使用 Amazon S3 兼容云存储和文件系统的最小工具。
- [mergo](https://github.com/imdario/mergo) - 在 Golang 中合并结构和 map 的助手。对于配置默认值很有用,避免混乱的 if 语句。
- [mimemagic](https://github.com/zRedShift/mimemagic) - 纯 Go 超高性能 MIME 嗅探库/实用程序。
- [mimetype](https://github.com/gabriel-vasile/mimetype) - 基于魔术数字的 MIME 类型检测包。
- [minify](https://github.com/tdewolff/minify) - HTML、CSS、JS、XML、JSON 和 SVG 文件格式的快速压缩器。
- [minquery](https://github.com/icza/minquery) - MongoDB / mgo.v2 查询,支持高效分页(游标以继续从中断处开始列出文档)。
- [moldova](https://github.com/StabbyCutyou/moldova) - 基于输入模板生成随机数据的实用程序。
- [mole](https://github.com/davrodpin/mole) 轻松创建 ssh 隧道的 cli 应用程序。
- [mongo-go-pagination](https://github.com/gobeam/mongo-go-pagination) - 官方 mongodb/mongo-go-driver 包的 Mongodb 分页,支持普通查询和 Aggregation pipelines。
- [mssqlx](https://github.com/linxGnu/mssqlx) - 数据库客户端库,任何主从、主主结构的代理。考虑到轻量级和自动平衡。
- [multitick](https://github.com/VividCortex/multitick) - 用于对齐 tickers 的多路复用器。
- [netbug](https://github.com/e-dard/netbug) - 轻松远程分析你的服务。
- [nfdump](https://github.com/chrispassas/nfdump) - 读取 nfdump netflow 文件。
- [nostromo](https://github.com/pokanop/nostromo) - 用于构建强大别名的 CLI。
- [okrun](https://github.com/xta/okrun) - go run 错误压路机。
- [olaf](https://github.com/btnguyen2k/olaf) - 在 Go 中实现的 Twitter Snowflake。
- [onecache](https://github.com/adelowo/onecache) - 支持多种后端存储(Redis、Memcached、文件系统等)的缓存库。
- [optional](https://github.com/kazhuravlev/optional) - 可选结构字段和变量。
- [panicparse](https://github.com/maruel/panicparse) - 将类似的 goroutines 分组并将堆栈转储着色。
- [pattern-match](https://github.com/alexpantyukhin/go-pattern-match) - 模式匹配库。
- [peco](https://github.com/peco/peco) - 简单的交互式过滤工具。
- [pgo](https://github.com/arthurkushman/pgo) - 为 PHP 社区提供的便捷函数。
- [pm](https://github.com/VividCortex/pm) - 带有 HTTP API 的进程(即 goroutine)管理器。
- [pointer](https://github.com/xorcare/pointer) - 包 pointer 包含用于简化基本类型可选字段创建的助手例程。
- [ptr](https://github.com/gotidy/ptr) - 提供从基本类型常量简化创建指针的函数的包。
- [rate](https://github.com/webriots/rate) - 具有令牌桶和 AIMD 策略的高性能速率限制库。
- [rclient](https://github.com/zpatrick/rclient) - 可读、灵活、易于使用的 REST APIs 客户端。
- [release](https://github.com/tomodian/release) - Keep-a-changelog 格式更新日志的 CLI。
- [remote-touchpad](https://github.com/Unrud/remote-touchpad) - 从智能手机控制鼠标和键盘。
- [repeat](https://github.com/ssgreg/repeat) - Go 实现的不同退避策略,对于重试操作和心跳很有用。
- [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™。
- [rerun](https://github.com/ivpusic/rerun) - 当源代码更改时重新编译并重新运行 go 应用程序。
- [rest-go](https://github.com/edermanoel94/rest-go) - 提供许多有用方法来处理 rest api 的包。
- [retro](https://github.com/goioc/retro) - 方便的错误重试库,具有极高的灵活性(退避策略、上限等)。
- [retry](https://github.com/kamilsk/retry) - 重复执行操作直到成功的最先进功能机制。
- [retry](https://github.com/percolate/retry) - 一个简单但高度可配置的 Go 重试包。
- [retry](https://github.com/thedevsaddam/retry) - 简单易用的 Go 重试机制包。
- [retry](https://github.com/shafreeck/retry) - 一个非常简单的库,以确保你的工作完成。
- [retry-go](https://github.com/avast/retry-go) - 重试机制的简单库。
- [retry-go](https://github.com/rafaeljesus/retry-go) - 让 golang 的重试变得简单易用。
- [robustly](https://github.com/VividCortex/robustly) - 弹性地运行函数,捕获并重新启动 panics。
- [rospo](https://github.com/ferama/rospo) - Golang 中简单可靠的 ssh 隧道,带有嵌入式 ssh 服务器。
- [scan](https://github.com/blockloop/scan) - 直接将 golang `sql.Rows` 扫描到结构体、切片或基本类型。
- [scan](https://github.com/wroge/scan) - 将 sql 行扫描为由泛型驱动的任何类型。
- [scany](https://github.com/georgysavva/scany) - 用于将数据库中的数据扫描到 Go 结构体等的库。
- [serve](https://github.com/syntaqx/serve) - 任何你需要的静态 HTTP 服务器。
- [sesh](https://github.com/joshmedeski/sesh) - Sesh 是一个 CLI,可帮助你使用 zoxide 快速轻松地创建和管理 tmux 会话。
- [set](https://github.com/nofeaturesonlybugs/set) - 高性能且灵活的结构映射和松散类型转换。
- [shutdown](https://github.com/ztrue/shutdown) - 用于 `os.Signal` 处理的应用程序关闭钩子。
- [silk](https://github.com/chrispassas/silk) - 读取 silk netflow 文件。
- [slice](https://github.com/psampaz/slice) - 常见 Go 切片操作的类型安全函数。
- [sliceconv](https://github.com/Henry-Sarabia/sliceconv) - 基本类型之间的切片转换。
- [slicer](https://github.com/leaanthony/slicer) - 让处理切片更容易。
- [sorty](https://github.com/jfcg/sorty) - 快速并发/并行排序。
- [sqlx](https://github.com/jmoiron/sqlx) - 在优秀的内置 database/sql 包之上提供一组扩展。
- [sqlz](https://github.com/rfberaldo/sqlz) - database/sql 包的扩展,添加了命名查询、结构扫描和批量操作。
- [sshman](https://github.com/shoobyban/sshman) - 用于多个远程服务器上 authorized_keys 文件的 SSH 管理器。
- [stacktower](https://github.com/matzehuels/stacktower) - 将依赖图可视化为物理塔结构,灵感来自 XKCD #2347。
- [statiks](https://github.com/janiltonmaciel/statiks) - 快速、零配置的静态 HTTP 文件服务器。
- [Storm](https://github.com/asdine/storm) - BoltDB 的简单而强大的工具包。
- [structs](https://github.com/PumpkinSeed/structs) - 实现简单的函数来操作结构体。
- [throttle](https://github.com/yudppp/throttle) - Throttle 是一个每个持续时间只执行一个动作的对象。
- [tik](https://github.com/andy2046/tik) - 简单易用的 Go 时间轮包。
- [tome](https://github.com/cyruzin/tome) - Tome 旨在为简单的 RESTful APIs 分页。
- [toolbox](https://github.com/viant/toolbox) - 切片、map、multimap、结构、函数、数据转换实用程序。服务路由器、宏评估器、tokenizer。
- [UNIS](https://github.com/esemplastic/unis) - Go 中字符串实用程序的通用架构™。
- [upterm](https://github.com/owenthereal/upterm) - 一个供开发人员通过 Web 安全共享终端/tmux 会话的工具。它非常适合远程结对编程、访问 NAT/防火墙后面的计算机、远程调试等。
- [usql](https://github.com/knq/usql) - usql 是 SQL 数据库的通用命令行界面。
- [util](https://github.com/shomali11/util) - 有用实用函数的集合。(字符串、并发、操作等)。
- [watchhttp](https://github.com/nikolaydubina/watchhttp) - 定期运行命令并将最新的 STDOUT 或其丰富的增量公开为 HTTP 端点。
- [wifiqr](https://github.com/reugn/wifiqr) - Wi-Fi QR 码生成器。
- [wuzz](https://github.com/asciimoo/wuzz) - 用于 HTTP 检查的交互式 CLI 工具。
- [xferspdy](https://github.com/monmohan/xferspdy) - Xferspdy 在 golang 中提供二进制 diff 和 patch 库。
- [xpool](https://github.com/peczenyj/xpool) - 另一个使用泛型的 golang 类型安全对象池。
- [yogo](https://github.com/antham/yogo) - 从命令行检查 yopmail 邮件。
**[⬆ 返回顶部](#contents)**
## UUID
_用于处理 UUID 的库。_
- [fastuuid](https://github.com/rekby/fastuuid) - 快速生成字符串或字节形式的 UUIDv4。
- [goid](https://github.com/jakehl/goid) - 生成和解析符合 RFC4122 的 V4 UUID。
- [gouid](https://github.com/twharmon/gouid) - 只需一次分配即可生成加密安全的随机字符串 ID。
- [guid](https://github.com/sdrapkin/guid) - Go 的快速加密安全 Guid 生成器(比 `uuid` 快约 10 倍)。
- [nanoid](https://github.com/aidarkhanov/nanoid) - 一个小巧高效的 Go 唯一字符串 ID 生成器。
- [sno](https://github.com/muyo/sno) - 紧凑、可排序且快速的唯一 ID,带有嵌入式元数据。
- [ulid](https://github.com/oklog/ulid) - ULID(Universally Unique Lexicographically Sortable Identifier)的 Go 实现。
- [uniq](https://gitlab.com/skilstak/code/go/uniq) - 无麻烦安全、快速的唯一标识符,带有命令。
- [uuid](https://github.com/agext/uuid) - 生成、编码和解码带有快速或加密质量随机节点标识符的 UUIDs v1。
- [uuid](https://github.com/gofrs/uuid) - 通用唯一标识符 (UUID) 的实现。支持创建和解析 UUID。积极维护的 satori uuid 分支。
- [uuid](https://github.com/google/uuid) - 基于 RFC 4122 和 DCE 1.1: Authentication and Security Services 的 UUID Go 包。
- [uuidcheck](https://github.com/ashwingopalsamy/uuidcheck) - 一个小型的、无依赖的 Go 库,根据标准 RFC 4122 格式验证 UUID,将 UUIDv7() 转换为 UTC 时间戳。
- [wuid](https://github.com/edwingeng/wuid) - 一个极快的全局唯一数字生成器。
- [xid](https://github.com/rs/xid) - Xid 是一个全局唯一 id 生成器库,准备好直接在你的服务器代码中安全使用。
**[⬆ 返回顶部](#contents)**
## Validation
_用于验证的库。_
- [checkdigit](https://github.com/osamingo/checkdigit) - 提供校验位算法(Luhn、Verhoeff、Damm)和计算器(ISBN、EAN、JAN、UPC 等)。
- [go-validator](https://github.com/tiendc/go-validator) - 使用泛型的验证库。
- [gody](https://github.com/guiferpa/gody) - :balloon: Go 的轻量级结构验证器。
- [govalid](https://github.com/twharmon/govalid) - 快速的、基于标签的结构验证。
- [govalidator](https://github.com/asaskevich/govalidator) - 字符串、数字、切片和结构体的验证器和清理器。
- [govalidator](https://github.com/thedevsaddam/govalidator) - 使用简单规则验证 Golang 请求数据。深受 Laravel 请求验证的启发。
- [hvalid](https://github.com/lyonnee/hvalid) hvalid 是一个用 Go 语言编写的轻量级验证库。它提供了一个自定义验证器接口和一系列常见的验证函数,以帮助开发人员快速实现数据验证。
- [jio](https://github.com/faceair/jio) - jio 是一个类似于 [joi](https://github.com/hapijs/joi) 的 json schema 验证器。
- [ozzo-validation](https://github.com/go-ozzo/ozzo-validation) - 支持验证各种数据类型(结构、字符串、map、切片等),具有在常用代码构造而不是结构标签中指定的可配置和可扩展验证规则。
- [validate](https://github.com/gookit/validate) - 用于数据验证和过滤的 Go 包。支持验证 Map、Struct、Request(Form、JSON、url.Values、上传的文件)数据及更多功能。
- [validate](https://github.com/gobuffalo/validate) - 此包为 Go 应用程序编写验证提供了一个框架。
- [validator](https://github.com/go-playground/validator) - Go 结构体和字段验证,包括跨字段、跨结构体、Map、切片和数组深入。
- [Validator](https://github.com/go-the-way/validator) - 用 Go 编写的轻量级模型验证器。包含 VFs:Min、Max、MinLength、MaxLength、Length、Enum、Regex。
- [valix](https://github.com/marrow16/valix) 用于验证请求的 Go 包
- [Zog](https://github.com/Oudwins/zog) - 受 [Zod](https://github.com/colinhacks/zod) 启发的 schema 构建器,用于运行时值解析和验证。
**[⬆ 返回顶部](#contents)**
## Version Control
_用于版本控制的库。_
- [cli](https://gitlab.com/gitlab-org/cli) - 一个开源 GitLab 命令行工具,将 GitLab 的强大功能带到你的命令行。
- [froggit-go](https://github.com/jfrog/froggit-go) - Froggit-Go 是一个 Go 库,允许在 VCS 提供商上执行操作。
- [git2go](https://github.com/libgit2/git2go) libgit2 的 Go 绑定。
- [githooks](https://github.com/gabyx/githooks) - 具有版本控制和自动更新功能的每个存储库和共享 Git 钩子。
- [go-git](https://github.com/go-git/go-git) - 纯 Go 中高度可扩展的 Git 实现。
- [go-vcs](https://github.com/sourcegraph/go-vcs) - 在 Go 中操作和检查 VCS 存储库。
- [hercules](https://github.com/src-d/hercules) - 从 Git 存储库历史记录中获得高级见解。
- [hgo](https://github.com/beyang/hgo) - Hgo 是一组 Go 包,提供对本地 Mercurial 存储库的读取访问权限。
**[⬆ 返回顶部](#contents)**
## Video
_用于操作视频的库。_
- [gmf](https://github.com/3d0c/gmf) - FFmpeg av\* 库的 Go 绑定。
- [go-astiav](https://github.com/asticode/go-astiav) - GO 中更好的 ffmpeg C 绑定。
- [go-astisub](https://github.com/asticode/go-astisub) - 在 GO 中操作字幕(.srt、.stl、.ttml、.webvtt、.ssa/.ass、teletext、.smi 等)。
- [go-astits](https://github.com/asticode/go-astits) - 在 GO 中原生解析和解复用 MPEG Transport Streams (.ts)。
- [go-mpd](https://github.com/unki2aut/go-mpd) - MPEG-DASH 清单文件的解析器和生成器库。
- [goav](https://github.com/giorgisio/goav) - FFmpeg 的全面 Go 绑定。
- [gortsplib](https://github.com/aler9/gortsplib) - 纯 Go RTSP 服务器和客户端库。
- [hls-m3u8](https://github.com/Eyevinn/hls-m3u8) - HLS (M3U8) 播放列表的解析器和生成器;与规范保持同步。
- [libvlc-go](https://github.com/adrg/libvlc-go) - libvlc 2.X/3.X/4.X(VLC 媒体播放器使用)的 Go 绑定。
- [mp4ff](https://github.com/Eyevinn/mp4ff) - 用于处理包含视频、音频、字幕或元数据的 MP4 文件的库和工具。
- [v4l](https://github.com/korandiz/v4l) - Linux 的视频捕获库,用 Go 编写。
**[⬆ 返回顶部](#contents)**
## Web Frameworks
_全栈 Web 框架。_
- [Atreugo](https://github.com/savsgio/atreugo) - 高性能且可扩展的微型 Web 框架,在热路径中零内存分配。
- [Barf](https://github.com/opensaucerer/barf) - 基本上,一个用于构建基于 JSON 的 Web API 的出色框架。它完全不引人注目,也没有重新发明轮子。它的设计使得入门简单快捷,同时也足够灵活以适应更复杂的用例。
- [Beego](https://github.com/beego/beego) - beego 是一个用于 Go 编程语言的开源、高性能 Web 框架。
- [Confetti Framework](https://confetti-framework.github.io/docs/) - Confetti 是一个具有表达性、优雅语法的 Go Web 应用程序框架。Confetti 结合了 Laravel 的优雅和 Go 的简单性。
- [Don](https://github.com/abemedia/go-don) - 一个高性能且易于使用的 API 框架。
- [Echo](https://github.com/labstack/echo) - 高性能、极简主义 Go Web 框架。
- [Fastschema](https://github.com/fastschema/fastschema) - 灵活的 Go Web 框架和 Headless CMS。
- [Fiber](https://github.com/gofiber/fiber) - 受 Express.js 启发的 Web 框架,构建在 Fasthttp 之上。
- [Flamingo](https://github.com/i-love-flamingo/flamingo) - 可插拔 Web 项目的框架。包括模块概念,并提供 DI、Configareas、i18n、模板引擎、graphql、可观察性、安全性、事件、路由和反向路由等功能。
- [Flamingo Commerce](https://github.com/i-love-flamingo/flamingo-commerce) - 使用 DDD 和端口和适配器等干净架构提供电子商务功能,你可以使用它来构建灵活的电子商务应用程序。
- [Fuego](https://github.com/go-fuego/fuego) - 忙碌的 Go 开发者的框架!从源代码生成 OpenAPI 3 规范的 Web 框架。
- [Gin](https://github.com/gin-gonic/gin) - Gin 是一个用 Go 编写的 Web 框架!它具有类似 martini 的 API,性能更好,快达 40 倍。如果你需要性能和良好的生产力。
- [Ginrpc](https://github.com/xxjwxc/ginrpc) - Gin 参数
- [Spire](https://github.com/spiffe/spire) - SPIRE (the SPIFFE Runtime Environment) 是一个 API 工具链,用于在各种托管平台之间建立软件系统的信任。
## 代码分析
_源代码分析工具,也称为静态应用程序安全测试 (SAST) 工具。_
- [apicompat](https://github.com/bradleyfalzon/apicompat) - 检查 Go 项目最近的更改是否存在向后不兼容的改动。
- [asty](https://github.com/asty-org/asty) - 将 golang AST 转换为 JSON,或将 JSON 转换为 AST。
- [blanket](https://gitlab.com/verygoodsoftwarenotvirus/blanket) - blanket 是一个工具,帮助你捕捉 Go 包中没有直接单元测试的函数。
- [ChainJacking](https://github.com/Checkmarx/chainjacking) - 查找你的 Go 语言直接 GitHub 依赖中哪些容易受到 ChainJacking 攻击。
- [Chronos](https://github.com/amit-davidson/Chronos) - 静态检测竞态条件。
- [dupl](https://github.com/mibk/dupl) - 用于代码克隆检测的工具。
- [errcheck](https://github.com/kisielk/errcheck) - Errcheck 是一个用于检查 Go 程序中未检查错误的程序。
- [fatcontext](https://github.com/Crocmagnon/fatcontext) - Fatcontext 检测循环或函数字面量中的嵌套 context。
- [go-checkstyle](https://github.com/qiniu/checkstyle) - checkstyle 是一个像 java checkstyle 一样的风格检查工具。该工具受 java checkstyle、golint 启发。风格参考了 Go Code Review Comments 中的一些点。
- [go-cleanarch](https://github.com/roblaszczak/go-cleanarch) - go-cleanarch 旨在验证 Clean Architecture 规则,如依赖规则以及你的 Go 项目中包之间的交互。
- [go-critic](https://github.com/go-critic/go-critic) - 源代码 linter,提供了当前其他 linter 未实现的检查。
- [go-mod-outdated](https://github.com/psampaz/go-mod-outdated) - 一种查找 Go 项目过期依赖的简单方法。
- [goast-viewer](https://github.com/yuroyoro/goast-viewer) - 基于 Web 的 Golang AST 可视化工具。
- [goimports](https://pkg.go.dev/golang.org/x/tools/cmd/goimports) - 自动修复(添加、删除)你的 Go imports 的工具。
- [golang-ifood-sdk](https://github.com/arxdsilva/golang-ifood-sdk) - iFood API SDK。
- [golangci-lint](https://github.com/golangci/golangci-lint) – 一个快速的 Go linters 运行器。它并行运行 linters,使用缓存,支持 `yaml` 配置,集成了所有主流 IDE,并包含数十个 linters。
- [golines](https://github.com/segmentio/golines) - 自动缩短 Go 代码中长行的格式化工具。
- [GoPlantUML](https://github.com/jfeliu007/goplantuml) - 生成文本 plantuml 类图的库和 CLI,包含结构体、接口及其相互关系的信息。
- [goreturns](https://github.com/sqs/goreturns) - 添加零值返回语句以匹配 func 返回类型。
- [gostatus](https://github.com/shurcooL/gostatus) - 命令行工具,显示包含 Go 包的仓库的状态。
- [lint](https://github.com/surullabs/lint) - 将 linters 作为 go test 的一部分运行。
- [php-parser](https://github.com/z7zmey/php-parser) - 用 Go 编写的 PHP 解析器。
- [revive](https://github.com/mgechev/revive) – 比 `golint` 快约 6 倍,更严格、可配置、可扩展且美观的替代品。
- [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) - staticcheck 是增强版的 `go vet`,应用了大量你可能习惯于像 C# 的 ReSharper 等工具的静态分析检查。
- [testifylint](https://github.com/Antonboom/testifylint) – 一个检查 [github.com/stretchr/testify](https://github.com/stretchr/testify) 使用情况的 linter。
- [tickgit](https://github.com/augmentable-dev/tickgit) - 用于显示代码注释 TODO(任何语言)并应用 `git blame` 来识别作者的 CLI 和 go 包。
- [todocheck](https://github.com/preslavmihaylov/todocheck) - 静态代码分析器,将代码中的 TODO 注释与你的问题跟踪器中的问题链接起来。
- [unconvert](https://github.com/mdempsky/unconvert) - 从 Go 源代码中移除不必要的类型转换。
- [usestdlibvars](https://github.com/sashamelentyev/usestdlibvars) - 一个检测是否有机会使用 Go 标准库中的变量/常量的 linter。
- [vacuum](https://github.com/daveshanley/vacuum) - 一个超快速、轻量级的 OpenAPI linter 和质量检查工具。
- [validate](https://github.com/mccoyst/validate) - 使用标签自动验证结构体字段。
- [wrapcheck](https://github.com/tomarrell/wrapcheck) - 一个 linter,用于检查外部包的错误是否被包装。
**[⬆ 返回顶部](#contents)**
## 编辑器插件
_文本编辑器和 IDE 的插件。_
- [coc-go language server extension for Vim/Neovim](https://github.com/josa42/coc-go) - 此插件为 Vim/Neovim 添加了 [gopls](https://github.com/golang/tools/blob/master/gopls/README.md) 功能。
- [Go Doc](https://github.com/msyrus/vscode-go-doc) - 一个 Visual Studio Code 扩展,用于在输出中显示定义并生成 go doc。
- [Go plugin for JetBrains IDEs](https://plugins.jetbrains.com/plugin/9568-go) - JetBrains IDE 的 Go 插件。
- [go-mode](https://github.com/dominikh/go-mode.el) - GNU/Emacs 的 Go 模式。
- [gocode](https://github.com/nsf/gocode) - Go 编程语言的自动补全守护进程。
- [goimports-reviser](https://github.com/incu6us/goimports-reviser) - 用于 imports 的格式化工具。
- [goprofiling](https://marketplace.visualstudio.com/items?itemName=MaxMedia.go-prof) - 此扩展为 VS Code 添加了针对 Go 语言的基准性能分析支持。
- [GoSublime](https://github.com/DisposaBoy/GoSublime) - 文本编辑器 SublimeText 3 的 Golang 插件集合,提供代码补全和其他类似 IDE 的功能。
- [gounit-vim](https://github.com/hexdigest/gounit-vim) - 用于根据函数或方法签名生成 Go 测试的 Vim 插件。
- [vim-compiler-go](https://github.com/rjohnsondev/vim-compiler-go) - 用于在保存时高亮语法错误的 Vim 插件。
- [vim-go](https://github.com/fatih/vim-go) - Vim 的 Go 开发插件。
- [vscode-go](https://github.com/golang/vscode-go) - Visual Studio Code (VS Code) 的扩展,提供对 Go 语言的支持。
- [Watch](https://github.com/eaburns/Watch) - 在文件更改时在 acme win 中运行命令。
**[⬆ 返回顶部](#contents)**
## Go 生成工具
- [envdoc](https://github.com/g4s8/envdoc) - 从 Go 源文件为环境变量生成文档。
- [generic](https://github.com/usk81/generic) - Go 的灵活数据类型。
- [gocontracts](https://github.com/Parquery/gocontracts) - 通过同步代码和文档将“按契约设计”引入 Go。
- [godal](https://github.com/mafulong/godal) - 通过指定 sql ddl 文件生成对应 golang 的 orm 模型,可供 gorm 使用。
- [gonerics](https://github.com/bouk/gonerics) - Go 中的惯用泛型。
- [gotests](https://github.com/cweill/gotests) - 从你的源代码生成 Go 测试。
- [gounit](https://github.com/hexdigest/gounit) - 使用你自己的模板生成 Go 测试。
- [hasgo](https://github.com/DylanMeeus/hasgo) - 为你的切片生成受 Haskell 启发的函数。
- [options-gen](https://github.com/kazhuravlev/options-gen) - 由 Dave Cheney 的文章“Friendly API 的函数式选项”描述的函数式选项。
- [re2dfa](https://gitlab.com/opennota/re2dfa) - 将正则表达式转换为有限状态机并输出 Go 源代码。
- [sqlgen](https://github.com/anqiansong/sqlgen) - 从 SQL 文件或 DSN 生成 gorm, xorm, sqlx, bun, sql 代码。
- [TOML-to-Go](https://xuri.me/toml-to-go) - 在浏览器中即时将 TOML 转换为 Go 类型。
- [xgen](https://github.com/xuri/xgen) - XSD (XML Schema Definition) 解析器和 Go/C/Java/Rust/TypeScript 代码生成器。
**[⬆ 返回顶部](#contents)**
## Go 工具
- [decouple](https://github.com/bobg/decouple) - 查找可以用接口类型泛化的“过度指定”的函数参数。
- [docs](https://github.com/go-oas/docs) - 自动为 GO 项目生成 RESTful API 文档 - 符合 Open API Specification 标准。
- [go-callvis](https://github.com/TrueFurby/go-callvis) - 使用 dot 格式可视化你的 Go 程序的调用图。
- [go-size-analyzer](https://github.com/Zxilly/go-size-analyzer) - 分析并可视化编译后的 Golang 二进制文件中依赖项的大小,深入了解它们对最终构建的影响。
- [go-swagger](https://github.com/go-swagger/go-swagger) - Swagger 2.0 的 go 实现。Swagger 是一个简单而强大的 RESTful API 表示形式。
- [go-template-playground](https://bartventer.github.io/go-template-playground/) - 用于创建和测试 Go 模板的交互式环境。
- [godbg](https://github.com/tylerwince/godbg) - Rust 的 `dbg!` 宏的实现,用于开发期间快速轻松的调试。
- [gomodrun](https://github.com/dustinblackman/gomodrun/) - 执行并缓存 go.mod 文件中包含的二进制文件的 Go 工具。
- [gotemplate.io](https://gotemplate.io/) - 在线实时预览 `text/template` 模板的工具。
- [gotestdox](https://github.com/bitfield/gotestdox) - 将 Go 测试结果显示为可读的句子。
- [gothanks](https://github.com/psampaz/gothanks) - GoThanks 自动 star 你的 go.mod github 依赖,以此向它们的维护者发送一些爱心。
- [gotutor](https://github.com/ahmedakef/gotutor) - 在线 Go 调试器和可视化工具。
- [govisual](https://github.com/doganarif/govisual) - 零配置、纯 Go 的 HTTP 请求可视化器和调试器,用于本地 Go Web 开发。
- [igo](https://github.com/rocketlaunchr/igo) - 一个 igo 到 go 的转译器(Go 语言的新语言特性!)。
- [lensm](https://github.com/loov/lensm) - Go 汇编和源码查看器。
- [modver](https://github.com/bobg/modver) - 比较 Go 模块的两个版本,以检查根据 [semver](https://semver.org/) 规则所需的版本号更改(major、minor 或 patchlevel)。
- [MoniGO](https://github.com/iyashjayesh/monigo) - 一个用于 Go 应用程序的性能监控库。它提供对应用程序性能的实时洞察!🚀
- [OctoLinker](https://github.com/OctoLinker/browser-extension) - 使用 GitHub 的 OctoLinker 浏览器扩展高效浏览 go 文件。
- [richgo](https://github.com/kyoh86/richgo) - 用文本装饰丰富 `go test` 输出。
- [roumon](https://github.com/becheran/roumon) - 通过命令行界面监控所有活动 goroutines 的当前状态。
- [rts](https://github.com/galeone/rts) - RTS: response to struct。从服务器响应生成 Go 结构体。
- [textra](https://github.com/ravsii/textra) - 提取 Go 结构体字段名称、类型和标签以进行过滤和导出。
- [typex](https://github.com/dtgorski/typex) - 检查 Go 类型及其传递依赖关系,或者将结果导出为 TypeScript 值对象(或类型)声明。
**[⬆ 返回顶部](#contents)**
## 软件包
_用 Go 编写的软件。_
**[⬆ 返回顶部](#contents)**
### DevOps 工具
- [abbreviate](https://github.com/dnnrly/abbreviate) - abbreviate 是一个将长字符串转换为具有可配置分隔符的短字符串的工具,例如将分支名称嵌入部署堆栈 ID。
- [alaz](https://github.com/ddosify/alaz) - 轻松、低开销、基于 eBPF 的 Kubernetes 监控。
- [aptly](https://github.com/aptly-dev/aptly) - aptly 是一个 Debian 仓库管理工具。
- [aurora](https://github.com/xuri/aurora) - 跨平台基于 Web 的 Beanstalkd 队列服务器控制台。
- [awsenv](https://github.com/soniah/awsenv) - 为配置文件加载 Amazon (AWS) 环境变量的小型二进制文件。
- [Balerter](https://github.com/balerter/balerter) - 自托管的基于脚本的告警管理器。
- [Blast](https://github.com/dave/blast) - 一个用于 API 负载测试和批处理的简单工具。
- [bombardier](
[](https://github.com/avelino/awesome-go/actions/workflows/tests.yaml?query=branch%3Amain)
[](https://github.com/sindresorhus/awesome)
[](https://gophers.slack.com/messages/awesome)
[](https://app.netlify.com/sites/awesome-go/deploys)
[](https://www.trackawesomelist.com/avelino/awesome-go/)
[](https://github.com/avelino/awesome-go/commits/main)
我们使用 _[Golang Bridge](https://github.com/gobridge/about-us/blob/master/README.md)_ 社区 Slack 进行即时交流,请点击[此处填写表单加入](https://invite.slack.golangbridge.org/)。
展开目录
- [Awesome Go](#awesome-go) - [目录](#contents) - [Actor Model](#actor-model) - [人工智能](#artificial-intelligence) - [音频与音乐](#audio-and-music) - [认证与授权](#authentication-and-authorization) - [区块链](#blockchain) - [机器人构建](#bot-building) - [构建自动化](#build-automation) - [命令行](#command-line) - [高级控制台 UI](#advanced-console-uis) - [标准 CLI](#standard-cli) - [配置](#configuration) - [持续集成](#continuous-integration) - [CSS 预处理器](#css-preprocessors) - [数据集成框架](#data-integration-frameworks) - [数据结构与算法](#data-structures-and-algorithms) - [位打包与压缩](#bit-packing-and-compression) - [位集合](#bit-sets) - [Bloom 和 Cuckoo 过滤器](#bloom-and-cuckoo-filters) - [数据结构与算法集合](#data-structure-and-algorithm-collections) - [迭代器](#iterators) - [Maps](#maps) - [其他数据结构与算法](#miscellaneous-data-structures-and-algorithms) - [可空类型](#nullable-types) - [队列](#queues) - [集合](#sets) - [文本分析](#text-analysis) - [树](#trees) - [管道](#pipes) - [数据库](#database) - [缓存](#caches) - [Go 实现的数据库](#databases-implemented-in-go) - [数据库 Schema 迁移](#database-schema-migration) - [数据库工具](#database-tools) - [SQL 查询构建器](#sql-query-builders) - [数据库驱动](#database-drivers) - [多后端接口](#interfaces-to-multiple-backends) - [关系型数据库驱动](#relational-database-drivers) - [NoSQL 数据库驱动](#nosql-database-drivers) - [搜索与分析数据库](#search-and-analytic-databases) - [日期与时间](#date-and-time) - [分布式系统](#distributed-systems) - [动态 DNS](#dynamic-dns) - [电子邮件](#email) - [可嵌入式脚本语言](#embeddable-scripting-languages) - [错误处理](#error-handling) - [文件处理](#file-handling) - [金融](#financial) - [表单](#forms) - [函数式](#functional) - [游戏开发](#game-development) - [生成器](#generators) - [地理](#geographic) - [Go 编译器](#go-compilers) - [Goroutines](#goroutines) - [GUI](#gui) - [硬件](#hardware) - [图像](#images) - [物联网](#iot-internet-of-things) - [任务调度](#job-scheduler) - [JSON](#json) - [日志](#logging) - [机器学习](#machine-learning) - [消息传递](#messaging) - [微软办公软件](#microsoft-office) - [Microsoft Excel](#microsoft-excel) - [Microsoft Word](#microsoft-word) - [杂项](#miscellaneous) - [依赖注入](#dependency-injection) - [项目布局](#project-layout) - [字符串](#strings) - [未分类](#uncategorized) - [自然语言处理](#natural-language-processing) - [语言检测](#language-detection) - [形态分析器](#morphological-analyzers) - [Slugifiers](#slugifiers) - [分词器](#tokenizers) - [翻译](#translation) - [音译](#transliteration) - [网络](#networking) - [HTTP 客户端](#http-clients) - [OpenGL](#opengl) - [ORM](#orm) - [包管理](#package-management) - [性能](#performance) - [查询语言](#query-language) - [反射](#reflection) - [资源嵌入](#resource-embedding) - [科学与数据分析](#science-and-data-analysis) - [安全](#security) - [序列化](#serialization) - [服务器应用程序](#server-applications) - [流处理](#stream-processing) - [模板引擎](#template-engines) - [测试](#testing) - [测试框架](#testing-frameworks) - [Mock](#mock) - [Fuzzing 和 delta-debugging/reducing/shrinking](#fuzzing-and-delta-debuggingreducingshrinking) - [Selenium 和浏览器控制工具](#selenium-and-browser-control-tools) - [故障注入](#fail-injection) - [文本处理](#text-processing) - [格式化](#formatters) - [标记语言](#markup-languages) - [解析器/编码器/解码器](#parsersencodersdecoders) - [正则表达式](#regular-expressions) - [清洗](#sanitation) - [爬虫](#scrapers) - [RSS](#rss) - [实用工具/杂项](#utilitymiscellaneous) - [第三方 API](#third-party-apis) - [实用工具](#utilities) - [UUID](#uuid) - [验证](#validation) - [版本控制](#version-control) - [视频](#video) - [Web 框架](#web-frameworks) - [中间件](#middlewares) - [实际中间件](#actual-middlewares) - [用于创建 HTTP 中间件的库](#libraries-for-creating-http-middlewares) - [路由器](#routers) - [WebAssembly](#webassembly) - [Webhooks 服务器](#webhooks-server) - [Windows](#windows) - [工作流框架](#workflow-frameworks) - [XML](#xml) - [零信任](#zero-trust) - [代码分析](#code-analysis) - [编辑器插件](#editor-plugins) - [Go 生成工具](#go-generate-tools) - [Go 工具](#go-tools) - [软件包](#software-packages) - [DevOps 工具](#devops-tools) - [其他软件](#other-software) - [资源](#resources) - [基准测试](#benchmarks) - [会议](#conferences) - [电子书](#e-books) - [付费电子书](#e-books-for-purchase) - [免费电子书](#free-e-books) - [Gophers](#gophers) - [Meetups](#meetups) - [风格指南](#style-guides) - [社交媒体](#social-media) - [Twitter](#twitter) - [Reddit](#reddit) - [网站](#websites) - [教程](#tutorials) - [引导式学习](#guided-learning) - [贡献](#contribution) - [许可证](#license) **[⬆ 返回顶部](#contents)**标签:GitHub趋势, Golang, Go语言, Ruby, 中间件, 后端开发, 安全编程, 开发者社区, 技术文档, 技术索引, 数据管道, 日志审计, 知识库, 程序破解, 类库, 精选资源, 编程资源, 软件工程