Skip to content

人工智能 ​

用于构建利用 AI 的程序的库。

  • Ollama - 在本地运行大型语言模型。
  • LocalAI - 开源 OpenAI 替代品,自托管 AI 模型。
  • langchaingo - LangChainGo 是一个用于开发由语言模型驱动的应用程序的框架。
  • mcp-go - Go 实现的模型上下文协议,用于在 Go 中构建 MCP 服务器和客户端。
  • Genkit - 由 Google 创建的框架,用于使用惯用 Go 构建 AI 驱动和 agentic 应用程序。
  • trpc-agent-go - 用于构建基于 LLM 的多智能体系统的框架。
  • GoModel - AI 网关,在 OpenAI、Anthropic、Gemini、Groq、xAI、Ollama 和其他提供商之间提供统一的 OpenAI 兼容 API,具备路由、使用跟踪、速率限制和护栏。
  • chromem-go - 适用于 Go 的可嵌入向量数据库,具有类似 Chroma 的接口和零第三方依赖。内存模式,可选持久化。
  • snip - CLI 代理,通过声明式 YAML 过滤器将 LLM 令牌使用量减少 60-90%。可无缝替代 Claude Code、Cursor、Copilot 和 Gemini。Go 语言实现的 rtk 替代品。
  • langgraphgo - 一个用于使用 LLM 构建有状态、多 Actor 应用程序的 Go 库,基于 LangGraph 的概念构建,内置多种 Agent 架构。
  • ai-gateway - 兼容 OpenAI 的 LLM 网关,可在 30 个提供商之间路由请求,具备回退、速率限制、预算、护栏和可观测性。
  • goai - 用于构建 AI 应用程序的 Go SDK。一个 SDK,20+ 提供商。灵感来自 Vercel AI SDK。
  • Cynative - 用于在 Go 中构建安全工程 AI Agent 的框架。构造上只读,内置沙箱,提供 45 个针对 AWS、GCP、Azure、K8s、GitHub 和 GitLab 深度研究的 Agent 蓝图。
  • clai - 专注于终端工作流的 Agentic 框架,遵循 UNIX 原则。无外部依赖,非常适合脚本编写/原型设计 agentic 应用,引擎也作为包提供。
  • OllamaFarm - 管理、负载均衡和故障转移 Ollama 集群。
  • jargo - 用于通过 WebRTC 构建实时语音 AI Agent 的框架,将语音转文本、LLM 和文本转语音接入流式管道。
  • keen-code - 一个上下文高效的终端 AI 编码 Agent。与提供商无关,支持 MCP、Agent Skills、Subagents 等。附带简单直观的 TUI。
  • web-researcher-mcp - MCP 服务器,为 AI 助手提供网络搜索、内容提取和多来源研究能力。单一二进制文件,5 个搜索提供商支持熔断故障转移,4 层抓取管道。
  • skillreaper - CLI,用于扫描 AI Agent 会话记录,识别并安全隔离未使用的技能、MCP 服务器和 Agent,支持 Claude Code、Codex CLI、Hermes、OpenCode、Cursor 和 OpenClaw。
  • agent-sdk-go - 用于在 Go 中构建有状态 AI Agent 的框架。
  • zenflow - 多智能体编排与工作流引擎。声明式 YAML 工作流,带中心辐射式邮箱的 LLM 协调器,竞态安全投递。一个 YAML 文件,一个 Go 二进制文件。可在任何支持 goai 的提供商上运行。
  • claude-code-go - 用于从 Go 程序驱动 Claude Code CLI 非交互式提示面的 Go 库。
  • hotplex - AI Agent 运行时引擎,为 Claude Code、OpenCode、pi-mono 和其他 CLI AI 工具提供长期会话。支持全双工流式传输、多平台集成和安全沙箱。
  • ai - 一个 Go 工具包,用于跨多个提供商构建 AI Agent 和应用程序,统一 LLM、嵌入、工具调用和 MCP 集成。
  • otellix - 面向成本受限生产环境的 OpenTelemetry 原生 LLM 可观测性和预算护栏。
  • AegisFlow - AI 网关,用于在 10+ 提供商之间路由、保护和监控 LLM 流量。兼容 OpenAI API、WASM 策略插件、金丝雀发布、实时仪表板。
  • routex - 适用于 Go 的 YAML 驱动多 Agent AI 运行时,具有 Erlang 风格监督、MCP 工具服务器支持和 CLI。
  • Aetheris - AI Agent 执行运行时,具有事件溯源、检查点恢复和至多一次执行保证。使用 Go 编写。
  • agy-mcp - 模型上下文协议(MCP)服务器,封装 Antigravity CLI 以运行提示和同行评审。
  • localaik - LocalStack 风格的 OpenAI 和 Gemini API 本地模拟;单个 Docker 容器,llama.cpp + Gemma 3 后端。
  • llm-box - 基于终端的 AI 工作流引擎,具有 YAML 驱动的管道、20+ LLM 提供商(DeepSeek、Qwen、GLM、Mistral 等)以及用于工作流管理的 TUI。
  • crewai-go - CrewAI(多 Agent 编排)的惯用 Go 移植版。零依赖,仅使用标准库。
  • semantic-search - 基于语义的搜索,支持 PDF、Markdown、DOCX、源代码和其他文件类型,使用生成式 AI 嵌入模型将文件向量化到向量数据库。
  • Smeldr - AI 原生内容后端,具备类型化生命周期管理、针对每种内容类型的原生 MCP 工具,以及零运行时依赖。
  • dakera-go - Dakera 自托管 Agent 内存服务器的官方 Go 客户端 SDK,提供内存存储/召回、会话管理、命名空间操作和衰减配置的类型化接口。
  • golem - 用于构建可靠 AI Agent 的框架,具有类型化依赖、零外部依赖和原生 MCP 支持。
  • thermal - 面向 AI 编码助手的终端贡献热力图、连续打卡追踪器和令牌排行榜。

网站 ​

软件包 ​

用 Go 编写的软件。

  • kubernetes - 来自 Google 的容器集群管理器。
  • Moby - 容器生态系统的协作项目,用于组装基于容器的系统。
  • traefik - 支持多个后端的反向代理和负载均衡器。
  • Gitea - Gogs 的分支,完全由社区驱动。
  • croc - 轻松安全地将文件或文件夹从一台计算机发送到另一台。
  • restic - 去重备份程序。
  • k9s - Kubernetes CLI,以时尚方式管理你的集群。
  • k3s - 轻量级 Kubernetes。
  • minikube - 在本地运行 Kubernetes。
  • k6 - 一个现代的负载测试工具,使用 Go 和 JavaScript。
  • colima - macOS(和 Linux)上的容器运行时,设置极简。
  • Vegeta - HTTP 负载测试工具和库。它超过 9000!
  • lima - 专注于运行容器和本地虚拟机工作负载的 Linux 虚拟机。
  • Hey - Hey 是一个向 Web 应用发送负载的小程序。
  • Gor - HTTP 流量复制工具,用于将生产环境流量实时重放到预发布/开发环境。
  • chaosmonkey - 一个弹性工具,帮助应用容忍随机的实例故障。
  • Packer - Packer 是一个从单一源配置为多个平台创建相同机器镜像的工具。
  • kind - Kubernetes IN Docker - 用于测试 Kubernetes 的本地集群。
  • JuiceFS - 基于 Redis 和 AWS S3 构建的分布式 POSIX 文件系统。
  • toxiproxy - 用于模拟网络和系统条件的代理,以进行自动化测试。
  • kubeshark - Kubernetes 的 API 流量分析器,灵感来自 Wireshark,专为 Kubernetes 构建。
  • GVM - GVM 提供了管理 Go 版本的接口。
  • Comcast - 模拟不良网络连接。
  • Flannel - Flannel 是用于容器的网络结构,专为 Kubernetes 设计。
  • scc - Sloc Cloc and Code,一个非常快速准确的代码计数器,包含复杂度计算和 COCOMO 估算。
  • ko - 用于在 Kubernetes 上构建和部署 Go 应用的命令行工具。
  • Ddosify - 用 Golang 编写的高性能负载测试工具。
  • confd - 使用模板以及 etcd 或 consul 中的数据管理本地应用程序配置文件。
  • KubeVela - 云原生应用交付。
  • LiteIDE - LiteIDE 是一款简单、开源、跨平台的 Go IDE。
  • Backrest - 基于 Web 的 restic 备份 UI 和编排器。
  • script - 让在 Go 中编写类似 shell 的脚本变得容易,用于 DevOps 和系统管理任务。
  • blocky - 快速轻量的 DNS 代理,作为本地网络的广告拦截器,功能丰富。
  • Fleet device management - 轻量级、可编程的服务器和工作站遥测。
  • bombardier - 快速的跨平台 HTTP 基准测试工具。
  • drive - 命令行 Google Drive 客户端。
  • k3d - 在 Docker 中运行 CNCF 的 k3s 的小助手。
  • k0s - 零摩擦 Kubernetes 发行版。
  • podinfo - Podinfo 是一个用 Go 制作的小型 Web 应用,展示了在 Kubernetes 中运行微服务的最佳实践。Podinfo 被 Flux 和 Flagger 等 CNCF 项目用于端到端测试和研讨会。
  • Duplicacy - 基于无锁去重思想的跨平台网络和云备份工具。
  • nes - 用 Go 编写的任天堂娱乐系统(NES)模拟器。
  • gaia - 用任何编程语言构建强大的流水线。
  • tau - 轻松构建云计算平台,具备无服务器 WebAssembly 函数、前端托管、CI/CD、对象存储、K/V 数据库和发布-订阅消息等功能。
  • Pomerium - Pomerium 是一个身份感知的访问代理。
  • s5cmd - 极速的 S3 和本地文件系统执行工具。
  • kubefwd - 批量 Kubernetes 端口转发,每个服务具有独立 IP,用于本地开发。
  • docker-volume-backup - 将 Docker 卷备份到本地或任何 S3、WebDAV、Azure Blob Storage、Dropbox 或 SSH 兼容存储。
  • kubeblocks - KubeBlocks 是一个开源控制平面,用于在 K8s 上运行和管理数据库、消息队列及其他数据基础设施。
  • Gokapi - 轻量级文件共享服务器,文件在设定的下载次数或天数后过期。类似于 Firefox Send,但不支持公开上传。
  • aptly - aptly 是一个 Debian 仓库管理工具。
  • myLG - 用 Go 编写的命令行网络诊断工具。
  • GoBoy - 用 Go 编写的任天堂 Game Boy Color 模拟器。
  • Stack Up - Stack Up,一个超级简单的部署工具——仅基于 Unix——可以将其视为服务器网络的“make”。
  • lgo - 使用 Jupyter 进行交互式 Go 编程。支持代码补全、代码检查,并 100% 兼容 Go。
  • Documize - 现代 wiki 软件,集成来自 SaaS 工具的数据。
  • ghorg - 快速将整个组织或用户的仓库克隆到一个目录——支持 GitHub、GitLab、Gitea 和 Bitbucket。
  • kala - 简约、现代、高性能的作业调度器。
  • sonic - Sonic 是一个 Go 博客平台。简单而强大。
  • Plakar - 一个加密、去重、可验证且可扩展的备份引擎,无供应商锁定。
  • Circuit - Circuit 是一个可编程的平台即服务(PaaS)和/或基础设施即服务(IaaS),用于管理、发现、同步和编排构成云应用的服务和主机。
  • tldx - 使用 RDAP、DNS 和 WHOIS 回退的批量域名可用性检查器,支持关键字排列生成。
  • fac - 修复 git 合并冲突的命令行用户界面。
  • Plik - Plik 是一个用 Go 编写的临时文件上传系统(类似 Wetransfer)。
  • portal - Portal 是一款快速简便的命令行文件传输工具,可在任意两台计算机之间传输文件。
  • go-selfupdate - 让你的 Go 应用能够自更新。
  • StatusOK - 监控您的网站和 REST API。当服务器宕机或响应时间超出预期时,通过 Slack、电子邮件通知您。
  • borg - 基于终端的 bash 代码片段搜索引擎。
  • shell2http - 通过 HTTP 服务器执行 shell 命令(用于原型设计或远程控制)。
  • tlm - 由 CodeLLaMa 驱动的本地 CLI 副驾驶。
  • bluetuith - Linux 的 TUI 蓝牙管理器。
  • uTask - 自动化引擎,用于建模和执行以 yaml 声明的业务流程。
  • KubeVPN - KubeVPN 提供云原生开发环境,无缝连接你的 Kubernetes 集群网络。
  • PipeCD - GitOps 风格的持续交付平台,为任何应用提供一致的部署和运维体验。
  • KusionStack - 统一的可编程配置技术栈,以“平台即代码”和“基础设施即代码”方式交付现代应用。
  • podman-tui - 用于 Podman 管理的终端 UI。
  • vFlow - 高性能、可扩展且可靠的 IPFIX、sFlow 和 Netflow 收集器。
  • s3gof3r - 针对高速传输大对象进出 Amazon S3 优化的小型工具/库。
  • peg - Peg,解析表达式文法,是 Packrat 解析器生成器的一种实现。
  • skm - SKM 是一个简单而强大的 SSH 密钥管理器,帮助你轻松管理多个 SSH 密钥!
  • GoNB - 使用 Jupyter Notebook 进行交互式 Go 编程(也适用于 VSCode、Binder 和 Google Colab)。
  • kwatch - 即时监控并检测 Kubernetes(K8s) 集群中的崩溃。
  • Scaleway-cli - 从命令行管理裸金属服务器(像使用 Docker 一样简单)。
  • Updatecli - 通用声明式更新策略引擎。
  • Go Package Store - 显示 GOPATH 中 Go 包更新的应用。
  • yai - AI 驱动的终端助手。
  • cassowary - 用 Go 编写的现代跨平台 HTTP 负载测试工具。
  • gfile - 通过 WebRTC 在两台计算机之间安全传输文件,无需任何第三方。
  • Leaps - 使用操作转换的结对编程服务。
  • sake - sake 是一个用于本地和远程主机的命令运行器。
  • onWatch - 在本地监控各提供商的 AI API 配额,具有历史跟踪、警报和 Web 仪表板,以避免意外的限流和预算超支。
  • kool - 以简单方式管理 Docker 环境的命令行工具。
  • Chapar - Chapar 是使用 go 构建的跨平台 Postman 替代品,旨在帮助开发者测试其 API 端点。它支持 http 和 grpc 协议。
  • alaz - 轻松、低开销、基于 eBPF 的 Kubernetes 监控。
  • Guora - 用 Go 编写的自托管类 Quora 网络应用。
  • gocc - Gocc 是一个用 Go 编写的 Go 编译器工具包。
  • Gebug - 通过无缝启用调试器和热重载功能,使调试 Dockerized Go 应用程序变得非常容易的工具。
  • aurora - 跨平台的基于 Web 的 Beanstalkd 队列服务器控制台。
  • mockingjay - 从一个配置文件生成假 HTTP 服务器和消费者驱动契约。您还可以让服务器随机出错,以帮助进行更真实的性能测试。
  • govvv - “go build” 包装器,轻松将版本信息添加到 Go 二进制文件中。
  • woke - 检测源代码中的非包容性语言。
  • s3-proxy - S3 代理,支持 GET、PUT 和 DELETE 方法以及认证(OpenID Connect 和 Basic Auth)。
  • go-peerflix - 视频流媒体种子客户端。
  • mac-cleanup-go - 预览优先的 TUI,用于清理 macOS 缓存、日志和临时文件。
  • Pewpew - 灵活的 HTTP 命令行压力测试工具。
  • aws-doctor - 直接从终端诊断 AWS 成本、检测空闲资源并优化云支出 🩺 ☁️。
  • jcli - Jenkins CLI 让你轻松管理 Jenkins。
  • gobrew - Go 版本管理器。超级简单的工具,用于安装和管理 Go 版本。无需 root 即可安装 Go。Gobrew 不需要 shell rehash。
  • hotswap - 无需重启服务器、中断或阻塞任何正在进行的进程即可重新加载 Go 代码的完整解决方案。
  • ide - 浏览器可访问的 IDE。专为 Go 设计,用 Go 编写。
  • Spinifex - 自托管的、兼容 AWS 的云平台,为裸机、边缘和本地基础设施提供 EC2、EBS、S3、VPC 和 IAM API。
  • stew - 一个独立的编译二进制包管理器。
  • easyssh-proxy - Golang 包,通过 ProxyCommand 轻松实现 SSH 远程执行和 SCP 下载。
  • Neo-cowsay - 🐮 cowsay 重生。迎接新时代。
  • lstags - 用于在不同注册表之间同步 Docker 镜像的工具和 API。
  • crawley - 用于 CLI 的 Web 爬虫/爬取器。
  • gonative - 创建 Go 构建的工具,可交叉编译到所有平台,同时仍使用启用 Cgo 的 stdlib 包。
  • trubka - 用于管理和排查 Apache Kafka 集群的 CLI 工具,能够通用地发布/消费协议缓冲区和纯文本事件到 Kafka 或从 Kafka 接收。
  • Mora - 用于访问 MongoDB 文档和元数据的 REST 服务器。
  • Balerter - 一个自托管的基于脚本的告警管理器。
  • manssh - manssh 是一个用于轻松管理 ssh 别名配置的命令行工具。
  • wellington - Sass 项目管理工具,通过精灵图函数扩展语言(如 Compass)。
  • Cherry - Go 编写的微型 Web 聊天服务器。
  • terraform-provider-openapi - Terraform 提供程序插件,根据包含 API 定义的 OpenAPI 文档(原称 swagger 文件)在运行时动态配置自身。
  • dish - 一个轻量级、可远程配置的监控服务。
  • dogo - 监控源文件变化并自动编译和运行(重启)。
  • fjira - 基于模糊搜索的 Attlasian Jira 终端 UI 应用程序。
  • tcpdog - 基于 eBPF 的 TCP 可观测性。
  • godbg - 基于 Web 的 gdb 前端应用。
  • kcli - 用于检查 Kafka 主题/分区/消息的命令行工具。
  • abbreviate - abbreviate 是一个工具,可将长字符串转换为较短的字符串,并支持可配置的分隔符,例如将分支名嵌入部署栈 ID 中。
  • Blast - 一个用于 API 负载测试和批处理作业的简单工具。
  • joincap - 用于合并多个 pcap 文件的命令行工具。
  • sortie - 将 tracker 工单转化为自主编码代理会话。
  • gobrew - gobrew 让你轻松在多个 Go 版本之间切换。
  • Orbit - 用于运行命令和从模板生成文件的简单工具。
  • Dockerfile-Generator - 一个 Go 库和一个可执行文件,可通过各种输入通道生成有效的 Dockerfile。
  • goma-gateway - 轻量级 API 网关和反向代理,具有声明式配置、健壮的中间件,并支持 REST、GraphQL、TCP、UDP 和 gRPC。
  • sigma - OCI 原生容器镜像仓库,支持 OCI 原生制品、扫描制品、镜像构建等。
  • ostent - 收集并显示系统指标,可选地转发到 Graphite 和/或 InfluxDB。
  • drone-scp - 使用二进制、Docker 或 Drone CI 通过 SSH 复制文件和工件。
  • grapes - 轻量级工具,旨在轻松通过 SSH 分发命令。
  • winrm-cli - 用于在 Windows 机器上远程执行命令的 CLI 工具。
  • tf-profile - Terraform 运行分析器。生成全局统计、资源级统计或可视化。
  • vaku - 用于 Vault 中基于文件夹的函数(如复制、移动和搜索)的 CLI 和 API。
  • CrunchyCleaner - 适用于 Windows 和 Linux 的轻量级软件缓存清理工具。
  • GooseForum - 使用 Go、Vue 和 Tailwind CSS 构建的自托管论坛平台。
  • decompose - 用于生成和处理 Docker 容器连接图的工具。
  • go-rocket-update - 让 Go 应用自更新的简单方法——支持 Github 和 Gitlab。
  • Mantil - 用于在 AWS 上构建无服务器应用的 Go 专用框架,让你专注于纯 Go 代码,而 Mantil 负责基础设施。
  • go-furnace - 用 Go 编写的托管解决方案。轻松在 AWS、GCP 或 DigitalOcean 上部署你的应用。
  • mq-studio - 跨平台桌面客户端,用于管理和监控 RocketMQ、RabbitMQ、Kafka、Pulsar、Redis Stream、MQTT、NATS 和 ActiveMQ 集群。
  • boxed - 基于 Dropbox 的博客引擎。
  • dp - 通过用于区块链数据交换的 SDK,开发者可以轻松访问 DAPP 开发。
  • Dropship - 通过 CDN 部署代码的工具。
  • KeibiDrop - 按需点对点文件系统,挂载远程文件夹并通过预读隐藏链路延迟,使用 X25519 和 ML-KEM-1024 混合端到端加密。
  • docker-go-mingw - 使用 MinGW 工具链为 Windows 构建 Go 二进制的 Docker 镜像。
  • httpref - httpref 是一个方便的 CLI 参考,涵盖 HTTP 方法、状态码、标头以及 TCP 和 UDP 端口。
  • drone-jenkins - 使用二进制、docker 或 Drone CI 触发下游 Jenkins 作业。
  • Seaweed File System - 快速、简单且可扩展的分布式文件系统,具有 O(1) 磁盘寻道。
  • awsenv - 为某个配置文件加载 Amazon(AWS)环境变量的小型二进制文件。
  • lwc - UNIX wc 命令的实时更新版本。
  • Rodent - Rodent 帮助你管理 Go 版本、项目并跟踪依赖。
  • LightCMS - 自托管内容管理系统,具备静态页面生成、基于角色的访问控制,以及用于代理驱动内容操作的 MCP 服务器。
  • DepCharge - 帮助编排大型项目中众多依赖之间的命令执行。
  • naclpipe - 用 Go 编写的基于 NaCL EC25519 的简单加密管道工具。
  • tinycare-tui - 小型终端应用,显示过去 24 小时和一周的 git 提交、当前天气、一些自我关怀建议、一个笑话以及你当前的待办任务。
  • wait-for - 在继续之前等待某事发生(从命令行)。轻松编排 Docker 服务和其他事物。
  • Snitch - 当有人通过 Tsuru 部署任何应用时,以简单方式通知你的团队和许多工具。
  • chicha-isotope-map - 自托管的公共辐射地图,用于导入、分析和可视化测量轨迹。
  • gotermfx - 零依赖终端动画 CLI,内置效果,并提供小型 API 用于自定义动画。
  • dispositio - 用于以简单 markdown 规划大型项目的终端工具。
  • GoDocTooltip - Go Doc 网站的 Chrome 扩展,在函数列表中以工具提示显示函数描述。
  • hoofli - 从 Chrome 或 Firefox 网络检查生成 PlantUML 图。
  • pingtower - 轻量级自托管网站和 API 正常运行时间监控器。
  • sg - 对一组 HTTP 端点进行基准测试(如 ab),可根据前一次响应使用响应代码和数据对特定服务器进行压力测试。
  • GURL - 当 CURL 提示 SSL 库太旧时——使用 GURL。单文件,零 SSL 依赖。
  • mdv - 在浏览器中渲染 Markdown 文件的 CLI 工具,支持实时重载、GFM、语法高亮、Mermaid 图表和 PDF 导出。
  • metricsd - 轻量级指标收集器,带插件系统,可发送到 Prometheus、Splunk HEC 和 HTTP JSON 端点。
  • tickstem/uptime - 用于 HTTP 正常运行时间监控的 Go 客户端,支持 SSL 过期警报和可配置的响应断言。
  • claude-grep - 使用正则表达式和语义(向量)搜索搜索 Claude Code 会话历史。
  • ScheduleGate - DCMA 14 点进度评估 CLI,用于 MS Project Excel/CSV 导出。
  • gitl - 对 git 提交范围进行 AI 审查,带有风险评分(低/中/高)、变更日志生成和多仓库活动摘要。包含 GitHub Action。
  • zerohand - 简单高效的 Web API 负载测试工具。
  • docklite - 轻量级 Portainer 替代方案,用于 Docker 容器管理,支持实时 SSE 指标。
  • SiteBrush - 保留网站。淘汰 WordPress。将现有网站转换为可编辑的静态 HTML,无需重新设计。
  • spotify-screensaver - Spotify 桌面屏保,带有数字 OLED 时钟、画布音频可视化器和 MPRIS 控制。
  • untis-go - 面向学生和教师的快速、原生 WebUntis 桌面客户端。侧边栏导航、课程表、作业、缺勤和消息。AES-256-GCM 加密凭据,SQLite 缓存优先,随机端口安全。
  • Den - 面向 AI 代理的自托管沙箱运行时。开源的 E2B 替代方案。
  • Docker - 面向开发者和系统管理员的分布式应用开放平台。
  • gitea-github-migrator - 将所有 GitHub 仓库、问题、里程碑和标签迁移到你的 Gitea 实例。
  • Gogs - 用 Go 编程语言编写的自托管 Git 服务。
  • Wide - 基于 Web 的团队 IDE,使用 Golang。
  • Better Go Playground - 具有语法高亮、代码补全和其他功能的 Go playground。
  • goblin - 用 Go 语言编写的 CLI 云构建器。
  • GoLand - 功能齐全的跨平台 Go IDE。
  • hugo - 快速且现代的静态网站引擎。
  • Juju - 云无关的服务部署与编排——支持 EC2、Azure、Openstack、MAAS 等。
  • Layli - 以代码形式绘制漂亮的布局图。
  • limetext - Lime Text 是一款主要用 Go 开发的强大而优雅的文本编辑器,旨在成为 Sublime Text 的自由开源软件继任者。
  • syncthing - 开放、去中心化的文件同步工具和协议。
  • tsuru - 可扩展且开源的平台即服务软件。
  • Wave Terminal - Wave 是一个开源的、AI 原生的终端,专为无缝开发者工作流而设计,具有内联渲染、现代 UI 和持久会话。
  • zs - 一个极其简约的静态站点生成器。

Web 框架 ​

全栈 Web 框架。

  • Gin - Gin 是一个用 Go 编写的 Web 框架!它拥有类似 Martini 的 API,但性能更佳,最高可快 40 倍。如果你需要高性能和良好的生产力。
  • Fiber - 受 Express.js 启发、基于 Fasthttp 构建的 Web 框架。
  • Echo - 高性能、极简的 Go Web 框架。
  • Beego - beego 是一个开源的、高性能的 Go 编程语言 Web 框架。
  • chi - 基于 net/context 构建的小巧、快速且富有表现力的 HTTP 路由器。
  • mux - golang 的强大 URL 路由器和分发器。
  • GoFr - Gofr 是一个固执己见的微服务开发框架。
  • httprouter - 高性能路由器。使用它和标准 http 处理器可构建高性能 Web 框架。
  • GoFrame - GoFrame 是一个模块化、功能强大、高性能且企业级的 Golang 应用开发框架。
  • Revel - Go 语言的高生产力 Web 框架。
  • negroni - Golang 的惯用 HTTP 中间件。
  • Hertz - 一个高性能、强扩展性的 Go HTTP 框架,帮助开发者构建微服务。
  • Goa - Goa 为使用 Go 开发远程 API 和微服务提供了一种整体方法。
  • goravel - 一个受 Laravel 启发的 Web 框架,内置 ORM、认证、队列、任务调度等特性。
  • Huma - 面向现代 REST/GraphQL API 的框架,内置 OpenAPI 3、生成的文档和 CLI。
  • alice - Go 的无痛中间件链。
  • CORS - 轻松为你的 API 添加 CORS 功能。
  • Tollbooth - HTTP 请求处理器限流。
  • Limiter - Go 的极简速率限制中间件。
  • render - 用于轻松渲染 JSON、XML 和 HTML 模板响应的 Go 包。
  • Goyave - 功能完备的 REST API 框架,旨在实现简洁代码和快速开发,内置强大功能。
  • Fuego - 为忙碌的 Go 开发者打造的框架!从源代码生成 OpenAPI 3 规范的 Web 框架。
  • shadcn-templ - 非官方的 shadcn/ui 移植版,适用于 Go 和 templ:提供可访问的 UI 组件,并带有 CLI 和注册表。
  • gocraft/web - Go 的 Mux 和中间件包。
  • Atreugo - 高性能、可扩展的微 Web 框架,热路径零内存分配。
  • Bone - 极速 HTTP 多路复用器。
  • Goji - Goji 是一个极简且灵活的 HTTP 请求多路复用器,支持 net/context。
  • fasthttprouter - 从 httprouter 派生出的高性能路由器,是第一个适用于 fasthttp 的路由器。
  • Yokai - 简单、模块化且可观测的 Go 后端应用框架。
  • iWF - iWF 是一个用于开发长期运行业务流程的一体化平台。它提供了利用数据库、ElasticSearch、消息队列、持久定时器等服务的便捷抽象,并具有简洁、简单且用户友好的界面。
  • httptreemux - Go 的高速、灵活、基于树的 HTTP 路由器,灵感来自 httprouter。
  • Flamingo Commerce - 使用 DDD 和端口与适配器等整洁架构提供电子商务功能,可用于构建灵活的电子商务应用。
  • stats - 存储 Web 应用各种信息的 Go 中间件。
  • Fastschema - 一个灵活的 Go Web 框架和 Headless CMS。
  • rk-boot - 一个引导库,用于快速轻松地使用 Gin 和 gRPC 构建企业级 Go 微服务。
  • Flamingo - 用于可插拔 Web 项目的框架。包括模块概念,并提供 DI、配置区域、i18n、模板引擎、graphql、可观测性、安全性、事件、路由和反向路由等功能。
  • go-fault - Go 的故障注入中间件。
  • xujiajun/gorouter - 一个简单快速的 Go HTTP 路由器。
  • ozzo-routing - 极快的 Go HTTP 路由器,支持正则表达式路由匹配,并完整支持构建 RESTful API。
  • lars - 用于 Go 的轻量、快速、可扩展的零分配 HTTP 路由器,可用于创建可定制框架。
  • uAdmin - 功能完备的 Golang Web 框架,受 Django 启发。
  • Siesta - 用于编写中间件和处理器的可组合框架。
  • WebGo - 一个用于构建 Web 应用的微框架,支持处理程序链、中间件和上下文注入。使用符合标准库的 HTTP 处理程序(即 http.HandlerFunc)。
  • Ginrpc - Gin 参数自动绑定工具,Gin RPC 工具。
  • interpose - golang 的极简 net/http 中间件。
  • vestigo - 高性能、独立、符合 HTTP 规范的 URL 路由器,适用于 go Web 应用。
  • renderer - Go 的简单、轻量且更快的响应(JSON、JSONP、XML、YAML、HTML、File)渲染包。
  • Andurel - 受 Rails 启发的全栈 Go Web 框架,提供脚手架、数据库工具以及服务端渲染或 Inertia 前端。
  • muxchain - 轻量级 net/http 中间件。
  • gowww/router - 闪电般快速的 HTTP 路由器,完全兼容 net/http.Handler 接口。
  • hiboot - hiboot 是一个支持自动配置和依赖注入的高性能 Web 应用框架。
  • ln-paywall - 用于通过闪电网络(比特币)按请求实现 API 货币化的 Go 中间件。
  • GoRouter - GoRouter 是一个 Server/API 微框架、HTTP 请求路由器、多路复用器,提供支持 net/context 的中间件请求路由器。
  • pure - 一个坚持标准 "net/http" 实现的轻量级 HTTP 路由器。
  • alien - 来自外太空的轻量快速 HTTP 路由器。
  • Gone - 一个受 Spring 启发的轻量级依赖注入和 Web 框架。
  • patron - Patron 是一个遵循最佳云实践、注重生产力的微服务框架。
  • Microservice - 用于创建微服务的框架,使用 Golang 编写。
  • doors - 服务端驱动的框架,完全用 Go 构建有状态、响应式的 Web 应用。
  • violetear - Go HTTP 路由器。
  • gores - 处理 HTML、JSON、XML 等响应的 Go 包,适用于 RESTful API。
  • Bxog - Go 的简单快速 HTTP 路由器,支持不同难度、长度和嵌套的路由,并能根据接收的参数创建 URL。
  • Barf - 基本上,这是一个用于构建基于 JSON 的 Web API 的卓越框架。它完全不突兀,不重复造轮子。它设计得既易于快速上手,又足够灵活以应对更复杂的用例。
  • rux - 用于构建 Golang HTTP 应用的简单快速 Web 框架。
  • xmux - 基于 httprouter 的高性能多路复用器,支持 net/context。
  • XFF - 处理 X-Forwarded-For 头及相关头。
  • Xun - 基于 Go 内置的 html/template 和 net/http 包的路由器构建的 Web 框架。它设计为轻量、快速且易于使用,同时提供简单直观的 API,用于构建具有中间件、路由和模板渲染等高级功能的 Web 应用。
  • mediary - 为 http.Client 添加拦截器,以支持请求/响应的转储、整形、追踪等。
  • rk-grpc - 用于 gRPC 的中间件,支持日志、指标、认证、追踪等。
  • goblin - 基于字典树的 golang HTTP 路由器。
  • ngamux - Go 的简单 HTTP 路由器。
  • chain - 带作用域数据的处理器包装链(基于 net/context 的 "middleware")。
  • Don - 一个高性能且易于使用的 API 框架。
  • bellt - 一个简单的 Go HTTP 路由器。
  • rk-gin - 用于 Gin 框架的中间件,提供日志、指标、认证、追踪等功能。
  • httpsuite - 用于 Go 的 HTTP 请求解析和 RFC 9457 问题响应,仅依赖标准库核心,并提供可选验证。
  • Ronykit - 具有可插拔架构且性能极高的 Web 框架。
  • formjson - 透明地将 JSON 输入作为标准表单 POST 处理。
  • go-api-boot - 一个以 gRpc 优先的微服务框架。特性包括对 Mongo 的 ODM 支持、云资源支持(AWS/Azure/Google),以及为 gRpc 定制的流畅依赖注入。此外,直接支持 grpc-web,使浏览器无需代理即可访问所有 gRpc API。
  • Lit - 面向 Golang 的高性能声明式 Web 框架,追求简洁和生活质量。
  • client-timing - 用于 Server-Timing 头的 HTTP 客户端。
  • FastRouter - 用 Go 编写的快速、灵活的 HTTP 路由器。
  • Goshtoso - 用于 Go 应用的服务器渲染 UI 组件,基于 templ、Tailwind CSS、HTMX 和 Alpine.js 构建。
  • GoLobby/Router - GoLobby Router 是 Go 编程语言的轻量级但功能强大的 HTTP 路由器。
  • nchi - 基于 httprouter 构建的 chi 风格路由器,带有依赖注入的中间件包装器。
  • echo-middleware - 用于 Echo 框架的中间件,提供日志和指标。
  • Fox - 用于构建反向代理和 API 网关的高性能 HTTP 路由器,支持运行时动态修改路由。
  • fursy - HTTP 路由器,具有类型安全的泛型处理器、从代码自动生成 OpenAPI 3.1 以及 RFC 9457 错误响应。
  • mid - 杂项 HTTP 中间件功能:从处理器返回惯用错误;接收/响应 JSON 数据;请求追踪等。
  • catena - http.Handler 包装器串联(与 "chain" 相同的 API)。
  • goroute - 简单而强大的 HTTP 请求多路复用器。
  • NotNet - 一个轻量级 Go 框架,用于构建快速、符合人体工学的 RESTful API,支持中间件和灵活路由。
  • apitally - API 监控和分析中间件,提供指标、日志和警报。适用于 Chi、Echo、Fiber 和 Gin。
  • togo - 全栈框架,将 Go 后端和 React 前端打包为单个二进制文件;提供 Laravel-artisan 级别的 CLI。
  • aichteeteapee - 功能齐全的 HTTP 服务器库,包含路由器、中间件栈、WebSocket 中心、文件上传和 OpenAPI 验证。
  • Confetti Framework - Confetti 是一个具有表达力、优雅语法的 Go Web 应用框架。Confetti 结合了 Laravel 的优雅和 Go 的简洁。
  • Pnutmux - Pnutmux 是一个强大的 Go Web 框架,使用正则表达式匹配和处理 HTTP 请求。它提供 CORS 处理、结构化日志、URL 参数提取、中间件和并发限制等功能。

实用工具 ​

通用工具和工具集,让您的生活更轻松。

  • fzf - 用 Go 编写的命令行模糊查找器。
  • dive - 用于探索 Docker 镜像中每一层的工具。
  • hub - 包装 git 命令,添加额外功能,从终端与 GitHub 交互。
  • lo - 一个类似 Lodash 的 Go 库,基于 Go 1.18+ 泛型(map、filter、contains、find...)。
  • ctop - 用于容器指标的 Top-like 界面(例如 htop)。
  • sqlx - 在优秀的 built-in database/sql 包之上提供一组扩展。
  • goreleaser - 尽可能快速且轻松地交付 Go 二进制文件。
  • wuzz - 用于 HTTP 检查的交互式 CLI 工具。
  • usql - usql 是 SQL 数据库的通用命令行界面。
  • peco - 简单的交互式过滤工具。
  • go-funk - 现代 Go 工具库,提供辅助函数(map、find、contains、filter、chunk、reverse 等)。
  • godropbox - 来自 Dropbox 的用于编写 Go 服务/应用程序的通用库。
  • minify - 用于 HTML、CSS、JS、XML、JSON 和 SVG 文件格式的快速压缩器。
  • panicparse - 对相似的 goroutine 进行分组并为堆栈转储着色。
  • mc - Minio Client 提供与 Amazon S3 兼容的云存储和文件系统交互的最小工具。
  • goreporter - 执行静态分析、单元测试、代码审查并生成代码质量报告的 Go 工具。
  • mergo - 用于合并 Golang 中结构体和映射的辅助工具。适用于配置默认值,避免杂乱的 if 语句。
  • retry-go - 用于重试机制的简单库。
  • sesh - Sesh 是一个 CLI,利用 zoxide 帮助您快速轻松地创建和管理 tmux 会话。
  • create-go-app - 一个强大的 CLI,通过运行一条命令即可创建包含后端(Golang)、前端(JavaScript、TypeScript)和部署自动化(Ansible、Docker)的生产就绪项目。
  • filetype - 通过检查魔数签名来推断文件类型的小型包。
  • EaseProbe - 一个简单、独立且轻量的工具,可执行健康/状态检查守护进程,支持 HTTP/TCP/SSH/Shell/Client... 探测,以及 Slack/Discord/Telegram/SMS... 通知。
  • Failsafe-go - 用于 Go 的容错与韧性模式。
  • Storm - 简单而强大的 BoltDB 工具包。
  • mimetype - 基于魔数进行 MIME 类型检测的包。
  • jump - Jump 通过学习你的习惯帮助你更快导航。
  • boilr - 极速 CLI 工具,用于从样板模板创建项目。
  • mole - 用于轻松创建 SSH 隧道的 CLI 应用。
  • boring - 简单的命令行 SSH 隧道管理器。
  • gitbatch - 在一个地方管理你的 git 仓库。
  • scany - 用于将数据库中的数据扫描到 Go 结构体等的库。
  • bed - 用 Go 编写的类 Vim 二进制编辑器。
  • upterm - 供开发人员通过 Web 安全共享终端/tmux 会话的工具。非常适合远程结对编程、访问 NAT/防火墙后的计算机、远程调试等。
  • hostctl - 一个 CLI 工具,通过简单命令管理 /etc/hosts。
  • circuitbreaker - Go 中的熔断器。
  • LAN Orangutan - 网络设备发现和清单,支持持久标签、多网络扫描和 Tailscale 集成。
  • git-time-metric - 简单、无缝、轻量的 Git 时间跟踪工具。
  • changie - 自动化变更日志工具,用于准备发布,具有大量自定义选项。
  • clipboard - 📋 跨平台剪贴板 Go 包。
  • immortal - *nix 跨平台(与操作系统无关)的监督器。
  • circuit - 高效且功能完整的 Hystrix 风格 Go 实现,用于熔断器模式。
  • mani - 帮助你管理多个仓库的 CLI 工具。
  • clockwork - 一个简单的 Go 假时钟。
  • remote-touchpad - 从智能手机控制鼠标和键盘。
  • delve - Go 调试器。
  • limiters - 用于 Golang 分布式应用的限流器,支持可配置后端和分布式锁。
  • ergo - 轻松管理运行在不同端口上的多个本地服务。
  • scan - 将 golang sql.Rows 直接扫描到结构体、切片或基本类型。
  • htcat - 并行和流水线 HTTP GET 工具。
  • koazee - 受惰性求值和函数式编程启发的库,简化了数组操作。
  • countries - ISO-3166-1、ISO-4217、ITU-T E.164、Unicode CLDR 和 IANA ccTLD 标准的完整实现。
  • stacktower - 将依赖图可视化为物理塔式结构,灵感来自 XKCD #2347。
  • config-file-validator - 跨平台工具,用于验证配置文件。
  • gubrak - 带语法糖的 Go 工具库。类似 lodash,但用于 Go。
  • godaemon - 用于编写守护进程的工具。
  • go-dry - Go 的 DRY(不要重复自己)包。
  • gopencils - 小巧简单的包,用于轻松消费 REST API。
  • request - Go HTTP 请求,为人类设计™。
  • go-rate - Go 的定时速率限制器。
  • rospo - 使用 Golang 内嵌 SSH 服务器实现简单可靠的 SSH 隧道。
  • grofer - 用 Golang 编写的系统和资源监控工具!
  • serve - 随时随地可用的静态 HTTP 服务器。
  • retry - 最先进的功能机制,可重复执行操作直至成功。
  • gotenv - 在 Go 中从 .env 或任何 io.Reader 加载环境变量。
  • util - 实用工具函数集合。(字符串、并发、操作等)。
  • wifiqr - Wi-Fi 二维码生成器。
  • gh-image - 一个 gh CLI 扩展,可从命令行将图片上传到 GitHub issues、PR 和 README,生成尊重仓库可见性的 user-attachments URL。
  • pattern-match - 模式匹配库。
  • go-trigger - Go 全局事件触发器,使用 id 注册事件,并从项目中的任何位置触发事件。
  • json-log-viewer - JSON 日志的交互式查看器。
  • go-sitemap-generator - 用 Go 编写的 XML 站点地图生成器。
  • toolbox - 切片、映射、多映射、结构体、函数、数据转换工具。服务路由器、宏求值器、分词器。
  • Death - 使用信号管理 Go 应用的关闭。
  • go-bind-plugin - 用于包装 golang 插件导出符号的 go:generate 工具(仅限 1.8)。
  • goval - 在 Go 中计算任意表达式。
  • go-bsdiff - 纯 Go 的 bsdiff 和 bspatch 库及 CLI 工具。
  • rate - 高性能限流库,支持令牌桶和 AIMD 策略。
  • moldova - 根据输入模板生成随机数据的工具。
  • apm - 带 HTTP API 的 Golang 应用进程管理器。
  • chyle - 使用 git 仓库生成变更日志,支持多种配置选项。
  • cryptgo - Crytpgo 是一个纯 Go 编写的基于 TUI 的应用,用于实时监控和观察加密货币价格!
  • rerun - 当源代码变化时重新编译并重新运行 Go 应用。
  • cmd - 在 osx、windows 和 linux 上执行 shell 命令的库。
  • robustly - 可靠地运行函数,捕获并重启 panic。
  • filter - 提供 Go 数据的过滤、清理和转换功能。
  • nostromo - 用于构建强大别名的 CLI。
  • sorty - 快速并发/并行排序。
  • gitcs - Git 提交可视化工具,用于在本地机器上可视化 Git 提交的 CLI 工具。
  • onecache - 支持多种后端存储(Redis、Memcached、文件系统等)的缓存库。
  • mongo-go-pagination - 针对官方 mongodb/mongo-go-driver 包的 MongoDB 分页,支持普通查询和聚合管道。
  • lrserver - Go 的 LiveReload 服务器。
  • go-lock - go-lock 是一个锁库,实现了无饥饿的读写互斥锁和读写 trylock。
  • goseaweedfs - 几乎全功能的 SeaweedFS 客户端库。
  • cookie - Cookie 结构解析和辅助包。
  • godoclive - 通过静态分析 chi、gin 和 net/http 路由器,从 Go HTTP 处理器生成交互式 API 文档。
  • mssqlx - 数据库客户端库,适用于任何主从、主主结构的代理。轻量且注重自动负载均衡。
  • go-pattern-match - 受 ts-pattern 启发的模式匹配库。
  • countries - 在 Go 中处理国家相关数据时所需的一切。
  • mimemagic - 纯 Go 编写的超高性能 MIME 嗅探库/工具。
  • xferspdy - Xferspdy 提供 Go 语言的二进制差异和补丁库。
  • go-lambda-cleanup - 用于删除未使用或旧版本 AWS Lambda 的 CLI。
  • go-health - Health 包简化了为服务添加健康检查的方式。
  • equalizer - Go 的配额管理和限流器集合。
  • go-safecast - 安全的数字类型转换库,防止整数溢出和下溢(解决 gosec G115 和 CWE-190)。
  • pgo - 为 PHP 社区提供的便捷函数。
  • handy - 许多工具和辅助函数,如字符串处理/格式化器和验证器。
  • repeat - Go 实现的不同退避策略,适用于重试操作和心跳。
  • pm - 带 HTTP API 的进程(即 goroutine)管理器。
  • netbug - 轻松对服务进行远程性能分析。
  • multitick - 对齐定时器的多路复用器。
  • backscanner - 类似于 bufio.Scanner 的扫描器,但它从给定位置开始向后读取并返回行。
  • dbt - 一个用于从中央可信仓库运行自更新签名二进制的框架。
  • UNIS - Go 字符串工具的通用架构™。
  • goreadability - 使用 Facebook Open Graph 和 arc90 的可读性提取网页摘要。
  • scan - 基于泛型将 SQL 行扫描为任意类型。
  • retry - 简单易用的 Go 重试机制包。
  • go-astitodo - 解析 GO 代码中的 TODO。
  • go-qr - 一个原生、高质量且极简的二维码生成器。
  • golog - 简单轻量的 CLI 工具,用于跟踪任务时间。
  • go-utils - 受 JavaScript 和 Python 启发的简单、高性能 Go 泛型工具(map、filter、reduce 等)。
  • minquery - 支持高效分页的 MongoDB / mgo.v2 查询(使用游标从上次位置继续列出文档)。
  • shutdown - 用于处理 os.Signal 的应用关闭钩子。
  • ghokin - 用于 gherkin(cucumber、behat 等)的并行化格式化器,无外部依赖。
  • sshman - 用于管理多台远程服务器上 authorized_keys 文件的 SSH 管理器。
  • copy-pasta - 通用多工作站剪贴板,使用类似 S3 的后端进行存储。
  • gofn - 使用 Go 1.18+ 泛型编写的高性能实用函数。
  • golarm - 用系统事件触发警报。
  • cvt - 轻松安全地将任何值转换为另一种类型。
  • sqlex - 对 jmoiron/sqlx 的现代化改造,修复了 SQL 词法分析器错误、自动 IN 子句展开、可插拔钩子以及统一的 DB/Tx/Conn 接口。
  • slice - 常见 Go 切片操作的类型安全函数。
  • goback - Go 简单指数退避包。
  • retry-go - 让 Go 的重试变得简单易用。
  • pointer - Package pointer 包含简化基本类型可选字段创建的辅助例程。
  • yogo - 从命令行检查 yopmail 邮件。
  • go-httpheader - 用于将结构体编码为 Header 字段的 Go 库。
  • gostrutils - 字符串操作和转换函数的集合。
  • set - 高性能且灵活的结构体映射和松散类型转换。
  • slicer - 让切片操作更简单。
  • evaluator - 基于 s-expression 动态计算表达式。它简单且易于扩展。
  • throttle - Throttle 是一个对象,每个时间段内恰好执行一个操作。
  • just - 只是一些用于处理通用数据结构的实用函数集合。
  • debounce - 用 Go 编写的零分配防抖器。
  • rclient - 可读、灵活、易用的 REST API 客户端。
  • tome - Tome 专为分页简单的 RESTful API 而设计。
  • watchhttp - 定期运行命令并将最新 STDOUT 或其丰富增量作为 HTTP 端点暴露。
  • git-tools - 用于管理 git 标签的工具。
  • generate - 在指定路径或环境变量上递归运行 go generate,并可通过正则表达式过滤。
  • graterm - 提供原语以在 Go 应用程序中执行有序(顺序/并发)的优雅终止(即关闭)。
  • ptr - 提供从基本类型常量简化创建指针的函数的包。
  • goplaceholder - 一个用于生成占位图片的小型 Go 库。
  • ctxutil - 用于上下文的工具函数集合。
  • healthcheck - 一个简单但强大的 Kubernetes 就绪测试。
  • go-convert - go-convert 包使你可以将值转换为另一种类型。
  • go-type - 提供用于存储、验证和传输 ISO-4217、ISO-3166 及其他类型的 Go 类型的库。
  • structs - 实现简单的函数来操作结构体。
  • jsend - 用 Go 实现的 JSend。
  • filler - 使用 "fill" 标签填充结构体的小工具。
  • go-problemdetails - 用于处理 Problem Details 的 Go 包。
  • dlog - 编译时控制的日志器,在不移除调试调用的情况下使发布包更小。
  • go-countries - 对 ISO-3166 码的轻量查询。
  • go-tripper - Tripper 是一个 Go 的断路器包,允许你断路并控制电路状态。
  • okrun - go run 错误压路机。
  • release - 用于 Keep-a-changelog 格式变更日志的 CLI。
  • go-clip - 适用于 Mac 的极简剪贴板管理器。
  • rest-go - 提供许多处理 REST API 的有用方法的包。
  • blank - 验证或移除字符串中的空白和空格。
  • jet - Just Edit Text:一个快速强大的工具,使用正则表达式查找和替换文件内容与名称。
  • silk - 读取 silk netflow 文件。
  • relimpact - Go 项目的快速 API 兼容性报告。
  • retry - 一个非常简单的库,确保你的工作完成。
  • sqlz - database/sql 包的扩展,添加了命名查询、结构体扫描和批量操作。
  • optional - 可选结构体字段和变量。
  • statiks - 快速、零配置的静态 HTTP 文件服务器。
  • bleep - 在 Go 中对任意一组操作系统信号执行任意数量的操作。
  • goctx - 以高性能获取你的上下文值。
  • loncha - 一个高性能的切片工具。
  • nfdump - 读取 nfdump netflow 文件。
  • retry - 一个简单但高度可配置的 Go 重试包。
  • go-events - 一个 Go 事件和事件订阅包,类似 WordPress 的钩子函数。
  • abstract - 用于消除业务逻辑中样板代码的抽象和工具。
  • sliceconv - 基本类型之间的切片转换。
  • go-pkg - 一个 Go 工具包。
  • xpool - 又一个使用泛型的 Go 类型安全对象池。
  • lang - 处理变量、切片和映射的通用一行代码,无需样板代码。
  • lets-go - Go 模块,提供云原生 REST API 开发的通用工具。也包含 AWS 特定工具。
  • contem - 用于优雅关闭 Go 应用的 context.Context 即插即用替代品。
  • go-snk - 针对切片、映射、字符串、错误、JSON、HTTP 和容器的类型安全泛型辅助函数,组织为可独立采用的小包。
  • olaf - 用 Go 实现的 Twitter Snowflake。
  • tik - 简单易用的 Go 时间轮包。
  • go-actuator - 为基于 Go 的 Web 框架提供生产级特性。
  • retro - 方便的出错重试库,具有极大的灵活性(退避策略、上限等)。
  • Go-Constant - 为 Go 缺失的枚举类型提供带安全字符串解析的泛型类型化常量集合。

服务器应用 ​

  • Caddy - Caddy 是一个易于配置和使用的替代性 HTTP/2 Web 服务器。
  • pocketbase - PocketBase 是一个实时后端,单文件包含嵌入式数据库(SQLite),支持实时订阅、内置认证管理等更多功能。
  • etcd - 用于共享配置和服务发现的高可用键值存储。
  • Casdoor - 身份和访问管理(IAM)及单点登录(SSO)服务器,带有 Web UI,支持 OAuth 2.0、OIDC、SAML、CAS 和 LDAP。
  • SFTPGo - 功能齐全且高度可配置的 SFTP 服务器,可选支持 FTP/S 和 WebDAV。它可以服务本地文件系统和云存储后端,如 S3 和 Google Cloud Storage。
  • RoadRunner - 高性能 PHP 应用服务器、负载均衡器和进程管理器。
  • Easegress - 云原生高可用/高性能流量编排系统,具有可观测性和可扩展性。
  • Wish - 轻松创建 SSH 应用,就像那样!
  • flipt - 用 Go 和 Vue.js 编写的自包含功能开关解决方案
  • Fider - Fider 是一个收集和组织客户反馈的开放平台。
  • minio - 社区维护的 minio(对象存储服务)分支。
  • devd - 面向开发者的本地 Web 服务器。
  • algernon - 内置 Lua、Markdown、GCSS 和 Amber 支持的 HTTP/2 Web 服务器。
  • Flagr - Flagr 是一个开源的功能开关和 A/B 测试服务。
  • go-feature-flag - 一个简单、完整且轻量级的自托管功能开关解决方案,100% 开源。
  • Trickster - HTTP 反向代理缓存和时间序列加速器。
  • discovery - 用于弹性中间层负载均衡和故障转移的注册表。
  • goshs - SimpleHTTPServer 的替代品,支持文件上传/下载、WebDAV、SFTP、SMB、TLS、认证和分享链接。
  • OpenRun - Google Cloud Run 和 AWS App Runner 的开源替代品。轻松在团队中部署内部工具。
  • Euterpe - 自托管音乐流媒体服务器,内置 Web UI 和 REST API。
  • wd-41 - 一个 Web 开发服务器,文件更改时自动实时重载。
  • go-proxy-cache - 用 Go 编写、使用 Redis 的带缓存的简单反向代理。
  • dudeldu - 一个简单的 SHOUTcast 服务器。
  • cortex-tenant - Prometheus 远程写入代理,根据指标标签添加 Cortex 租户 ID 头。
  • lets-proxy2 - 反向代理,用于处理 HTTPS,并即时从 Let's Encrypt 签发证书。
  • whois - 自托管的 WHOIS/RDAP 查询服务和 MCP 服务器,用于域名、IPv4/IPv6 地址、CIDR 和 ASN。
  • psql-streamer - 将数据库事件从 PostgreSQL 流式传输到 Kafka。
  • nginx-prometheus - Nginx 日志解析器并导出到 Prometheus。
  • protoxy - 将 JSON 请求体转换为 Protocol Buffers 的代理服务器。
  • Kono - 用 Go 编写的轻量级可扩展 API 网关——并行扇出、灵活聚合、零配置魔法。
  • Moxy - Moxy 是一个简单的模拟器和代理应用服务器,你可以创建模拟端点,也可以在端点没有模拟时代理请求。
  • relay - MCP 服务器,为 AI 代理提供 40 多个工具。文件操作、网络搜索、截图、多代理协调。单个 Go 二进制文件。
  • flue - 自托管守护进程,将终端会话提供给浏览器标签页。关闭标签页后会话仍继续运行。
  • gondola - 基于 YAML 的 Go 反向代理。
  • riemann-relay - 用于负载均衡 Riemann 事件或将其转换为 Carbon 的中继。
  • simpleconf - 配置服务器,保存一个 JSON 文档,通过 HTTP 和 TCP 按键路径读写,可选 Raft 集群。
  • consul - Consul 是用于服务发现、监控和配置的工具。
  • Engity's Bifröst - 高度可定制的 SSH 服务器,支持多种方式授权用户如何执行其会话(本地或容器内)。
  • nsq - 实时分布式消息平台。

数据库 ​

具有过期记录的数据存储、内存分布式数据存储或基于文件数据库的内存子集。

  • prometheus - 监控系统和时间序列数据库。
  • Milvus - Milvus 是一个用于嵌入管理、分析和搜索的向量数据库。
  • tidb - TiDB 是一个分布式 SQL 数据库,灵感来自 Google F1 的设计。
  • cockroach - 可扩展、地理复制、事务性数据存储。
  • influxdb - 用于指标、事件和实时分析的可扩展数据存储。
  • dolt - Dolt——它是数据的 Git。
  • dgraph - 可扩展、分布式、低延迟、高吞吐量的图数据库。
  • vitess - vitess提供服务器和工具,帮助大规模Web服务扩展MySQL数据库。
  • migrate - 数据库迁移。CLI 和 Golang 库。
  • sqlc - 从 SQL 生成类型安全的代码。
  • VictoriaMetrics - 快速、资源高效且可扩展的开源时间序列数据库。可用作 Prometheus 的长期远程存储。支持 PromQL。
  • rqlite - 基于 SQLite 构建的轻量级分布式关系数据库。
  • badger - Go 中的快速键值存储。
  • bytebase - 面向 DevOps 团队的安全数据库模式变更和版本控制。
  • groupcache - Groupcache 是一个缓存和缓存填充库,在许多情况下旨在替代 memcached。
  • goose - 数据库迁移工具。您可以通过创建增量 SQL 或 Go 脚本来管理数据库的演进。
  • DiceDB - 一个开源、快速、响应式的内存数据库,针对现代硬件优化。更高的吞吐量和更低的中位延迟,非常适合现代工作负载。
  • bbolt - 一个 Go 的嵌入式键值数据库。
  • pgweb - 基于 Web 的 PostgreSQL 数据库浏览器。
  • immudb - immudb 是一个用 Go 编写的轻量级、高速不可变数据库,适用于系统和应用程序。
  • atlas - 一个数据库工具包。一个旨在帮助公司更好地处理数据的 CLI。
  • BigCache - 适用于 GB 级数据的高效键/值缓存。
  • Squirrel - 帮助您构建 SQL 查询的 Go 库。
  • dbmate - 一个轻量级、与框架无关的数据库迁移工具。
  • ristretto - 一个高性能、内存受限的 Go 缓存。
  • goleveldb - Go 中 LevelDB 键值数据库的实现。
  • pebble - 受 RocksDB/LevelDB 启发的 Go 键值数据库。
  • go-mysql - 处理MySQL协议和复制的Go工具集。
  • rosedb - 基于 LSM+WAL 的嵌入式 k-v 数据库,支持字符串、列表、哈希、集合、有序集合。
  • buntdb - 一个快速、可嵌入、内存型的 Go 键/值数据库,支持自定义索引和空间功能。
  • pREST - 简化并加速开发,⚡ 即时、实时、高性能,适用于任何现有或新的 Postgres 应用。
  • redka - 用 SQLite 重新实现的 Redis。
  • ledisdb - Ledisdb 是一个基于 LevelDB 的高性能 NoSQL,类似 Redis。
  • xo - 根据现有模式定义或自定义查询生成地道的 Go 数据库代码,支持 PostgreSQL、MySQL、SQLite、Oracle 和 Microsoft SQL Server。
  • godis - 一个用 Golang 实现的高性能 Redis 服务器和集群。
  • jet - 用于在 Go 中编写类型安全 SQL 查询的框架,能够轻松将数据库查询结果转换为所需的任意对象结构。
  • nutsdb - Nutsdb 是一个用纯 Go 编写的简单、快速、可嵌入、持久化的键值存储。它支持完全可序列化的事务以及多种数据结构,如列表、集合、有序集合。
  • sql-migrate - 数据库迁移工具。允许使用 go-bindata 将迁移嵌入到应用程序中。
  • LinDB - LinDB 是一个可扩展、高性能、高可用的分布式时序数据库。
  • gocache - 完整的 Go 缓存库,支持多种存储(内存、memcache、redis 等),可链式调用、可加载、指标缓存等。
  • GCache - 支持可过期缓存、LFU、LRU 和 ARC 的缓存库。
  • tiedot - 由 Golang 驱动的 NoSQL 数据库。
  • otter - 一个高性能的无锁 Go 缓存,比 Ristretto 等快很多倍。
  • goqu - 地道的 SQL 构建器和查询库。
  • fastcache - 快速线程安全的内存缓存,适用于大量条目,最小化 GC 开销。
  • lotusdb - 兼容 lsm 和 b+tree 的快速 k/v 数据库。
  • cache2go - 支持基于超时自动失效的内存键值缓存。
  • gendry - 非侵入式 SQL 构建器和强大的数据绑定器。
  • CovenantSQL - CovenantSQL 是一个基于区块链的 SQL 数据库。
  • soda - 适用于 MySQL、PostgreSQL 和 SQLite 的数据库迁移、创建、ORM 等。
  • column - 高性能、列式、可嵌入的内存存储,支持位图索引和事务。
  • Databunker - 个人身份信息(PII)存储服务,符合 GDPR 和 CCPA 要求。
  • chproxy - ClickHouse 数据库的 HTTP 代理。
  • diskv - 自研的磁盘支持键值存储。
  • pg_timetable - PostgreSQL 的高级调度。
  • skeema - 面向 MySQL 的纯 SQL schema 管理系统,支持分片和外部在线 schema 变更工具。
  • pogreb - 面向读密集型工作负载的嵌入式键值存储。
  • ttlcache - 一个支持条目过期和泛型的内存缓存。
  • sturdyc - 一个具有高级并发特性的缓存库,旨在使 I/O 密集型应用健壮且高性能。
  • objectbox-go - 具有 Go API 的高性能嵌入式对象数据库(NoSQL)。
  • gormigrate - Gorm ORM 的数据库模式迁移助手。
  • goavro - 一个编码和解码 Avro 数据的 Go 包。
  • eliasdb - 无依赖、事务性图数据库,具有 REST API、短语搜索和类似 SQL 的查询语言。
  • moss - Moss 是一个用 100% Go 编写的简单 LSM 键值存储引擎。
  • onedump - 通过一条命令和配置,将数据库从不同驱动备份到不同目标。
  • NornicDB - 高性能图 + 向量数据库(兼容 Neo4j 和 qDrant),专注于为 AI 系统提供低延迟的图检索(graph-rag)。
  • go-sqlite - 一个纯 Golang 实现的 SQLite 驱动,无需 CGO。
  • clover - 一个用纯 Golang 编写的轻量级面向文档的 NoSQL 数据库。
  • Dotsql - 帮助你将 SQL 文件集中管理并轻松使用的 Go 库。
  • ozzo-dbx - 强大的数据检索方法以及数据库无关的查询构建能力。
  • rdb - 用于二次开发和内存分析的 Redis RDB 文件解析器。
  • EchoVault - 可嵌入的分布式内存数据存储,兼容 Redis 客户端。
  • clickhouse-bulk - 收集小插入并发送大请求到ClickHouse服务器。
  • jetcache-go - 统一的 Go 缓存库,支持多级缓存。
  • sqlingo - 用于在 Go 中构建 SQL 的轻量级 DSL。
  • levigo - Levigo 是 LevelDB 的 Go 封装。
  • dbq - Go 的零样板数据库操作。
  • filesql - 通过database/sql API使用SQL查询CSV、TSV、LTSV、JSON、JSONL、Parquet、Excel、ACH和Fedwire文件,由内存SQLite支持。
  • theine - 高性能、近乎最优的内存缓存,具有主动 TTL 过期和泛型支持。
  • cachego - 支持多种驱动器的 Golang 缓存组件。
  • pudge - 使用 Go 标准库编写的快速简单的键值存储。
  • wescale - WeScale 是一个数据库代理,旨在增强应用程序的可扩展性、性能、安全性和韧性。
  • gatewayd - 云原生数据库网关和框架,用于构建数据驱动应用。类似API网关,但针对数据库。
  • sqrl - SQL 查询构建器,Squirrel 的分支,性能更优。
  • lynxdb - 轻量级列式日志分析数据库,具有受 SPL 启发的管道式查询语言。
  • go-freelru - 无 GC、快速且通用的 LRU 哈希映射库,支持可选锁定、分片、逐出和过期。
  • Vasto - 一个分布式高性能键值存储。基于磁盘。最终一致。高可用。无需中断服务即可扩容或缩容。
  • clickhouse-sql-parser - ClickHouse方言SQL解析器,生成带类型的AST,提供遍历辅助、往返格式化和CLI。
  • pocache - Pocache 是一个极简缓存包,专注于抢占式乐观缓存策略。
  • piladb - 基于栈数据结构的轻量级 RESTful 数据库引擎。
  • libradb - LibraDB 是一个不到 1000 行代码的简单数据库,用于学习。
  • octillery - 用于数据库分片的 Go 包(支持任何 ORM 或原生 SQL)。
  • sq - 用于 Go 的类型安全 SQL 构建器和结构体映射器。
  • bqb - 轻量且易于学习的查询构建器。
  • sqly - 在交互式shell中对CSV、TSV、LTSV、JSON、Parquet和Excel文件执行SQL,由内存SQLite支持。
  • sqlf - 快速 SQL 查询构建器。
  • buildsqlx - 用于 PostgreSQL 的 Go 数据库查询构建器库。
  • pgrwl - PostgreSQL 的云原生持续备份。
  • migrator - 极简单的 Go 数据库迁移库。
  • bcache - 最终一致性的分布式内存缓存 Go 库。
  • go-cache - 灵活的 Go 多层缓存库,通过采用 Cache-Aside 模式处理内存和共享缓存。
  • darwin - Go 的数据库模式演进库。
  • nanotdb - 一个轻量级、零依赖、仅追加的时间序列数据库和仪表板,专为低功耗硬件优化。
  • igor - PostgreSQL 抽象层,支持高级功能并使用类似 gorm 的语法。
  • sqlize - 数据库迁移生成器。通过对比模型和现有SQL来生成SQL迁移。
  • imcache - 通用的内存缓存 Go 库。支持过期、滑动过期、最大条目限制、逐出回调和分片。
  • unitdb - 面向物联网、实时消息应用的快速时间序列数据库。使用 github.com/unit-io/unitd 应用通过 TCP 或 WebSocket 的 pubsub 访问 unitdb。
  • easycache - 在 Golang 中使用内存缓存的简单方式(TTL/FIFO/LRU/LFU)。
  • GoSQLX - 高性能SQL解析器、格式化器、linter和安全扫描器,支持多方言和WASM游乐场。
  • dbbench - 支持多种数据库和脚本的数据库基准测试工具。
  • go-mcache - 快速的内存键值存储/缓存库。指针缓存。
  • builq - 在 Go 中轻松构建 SQL 查询。
  • hare - 一个简单的数据库管理系统,将每个表存储为行分隔 JSON 的文本文件。
  • go-pg-migrations - 一个帮助使用 go-pg/pg 编写迁移的 Go 包。
  • gorm-multitenancy - 对GORM管理的数据库提供多租户支持。
  • pgxcli - 用 Go 编写的 PostgreSQL CLI 客户端,灵感来自 pgcli。
  • timedmap - 带过期键值对的映射。
  • couchcache - 由 Couchbase 服务器支持的 RESTful 缓存微服务。
  • godbal - Go 的数据库抽象层(dbal),支持 SQL 构建器并轻松获取结果。
  • qrafter - 类型安全的 SQL 查询构建器,支持方言感知渲染、模式内省和迁移生成。
  • minisql - 嵌入式单文件 SQL 数据库。
  • avro - 发现 SQL 模式并将其转换为 AVRO 模式。将 SQL 记录查询为 AVRO 字节。
  • dg - 快速数据生成器,从生成的关系数据生成CSV文件。
  • clusteredBigCache - 支持集群和单项过期的 BigCache。
  • schema - 用于将 database/sql 兼容数据库的 schema 迁移嵌入到 Go 二进制文件中的库。
  • rotom - 一个用 Golang 构建的微型 Redis 服务器,兼容 RESP 协议。
  • Coffer - 支持事务的简单 ACID 键值数据库。
  • database-gateway - 在生产环境中运行SQL,支持ACL、日志和共享链接。
  • gosql - SQL 查询构建器,更好地支持空值。
  • prep - 无需修改代码即可使用预编译 SQL 语句。
  • qry - 从包含原始 SQL 查询的文件生成常量的工具。
  • go-fixtures - Golang 出色的内置 database/sql 库的 Django 风格 fixtures。
  • relica - 类型安全的数据库查询构建器,零生产依赖,支持 LRU 语句缓存、批量操作以及 JOIN、子查询、CTE 和窗口函数。
  • gedb - 类似 MongoDB 的嵌入式数据库,用纯 Go 编写。支持索引和复杂查询。
  • gocache - 无数据竞争的 Go 缓存库,具有高性能和自动清理功能。
  • MemHop - 面向 AI 代理的嵌入式认知内存数据库。六层架构(L0-L5)、Dream 整合管道、三通道 RRF 检索(BM25 + f16 向量 + 实体)、单个 .meh 文件、纯 Go、零基础设施。
  • icache - 高性能、通用、线程安全、零依赖的缓存包。
  • migrator - MySQL 数据库迁移器,旨在将迁移运行到您的功能中,并通过直观的 Go 代码管理数据库模式更新。
  • Hotcoal - 保护手写 SQL 免受注入攻击。
  • db-migrator.go - 用于版本化数据库模式迁移的 CLI,支持 PostgreSQL、MySQL、ClickHouse、Tarantool 和 Apache Iceberg。
  • rwdb - rwdb为多数据库服务器设置提供只读副本能力。
  • tempdb - 用于临时项的键值存储。
  • libschema - 在每个库中单独定义迁移。面向开源库的迁移。MySQL 和 PostgreSQL。
  • gorm-seeder - Gorm ORM 的简单数据库种子填充器。
  • coherence-go-client - 使用 gRPC 作为网络传输的 Go 应用程序 Oracle Coherence 缓存 API 的完整实现。
  • nscache - 一个支持多种数据源驱动的 Go 缓存框架。
  • ormlite - 轻量级包,包含一些类似 ORM 的功能和 sqlite 数据库的辅助工具。
  • sqlh - 零样板 SQL 辅助工具,支持结构体标签和 Go 泛型(CRUD、UPSERT、JOIN、基准测试)。
  • gdcache - 一个由 golang 实现的纯非侵入式缓存库,可用于实现自己的分布式缓存。
  • godfish - 数据库迁移管理器,使用原生查询语言。支持 Cassandra、MySQL、PostgreSQL、SQLite3。
  • obreron - 快速且廉价的 SQL 构建器,只做一件事:SQL 构建。
  • go-gcache - GCache 的通用版本,支持可过期缓存、LFU、LRU 和 ARC。
  • go-pg-migrate - 面向 go-pg 迁移管理的 CLI 友好包。
  • ttlcache - 每条记录带 TTL 的内存键值存储。
  • patcher - 强大的 SQL 查询构建器,可从结构体自动生成 SQL 查询。
  • NoKV - 面向分布式文件系统、对象存储和 AI 数据集工作负载的原生元数据服务。
  • go-postgres-s3-backup - 使用 AWS Lambda 将 PostgreSQL 备份到 S3 的无服务器方案,支持每日、每月和每年轮换。
  • pgwd - 监控PostgreSQL连接数(总数、活动、空闲、陈旧)的CLI,当超过阈值时通过Slack和/或Loki通知。支持Kubernetes(kubectl port-forward)和通知中的可选运行上下文。
  • xsql - AI优先的跨数据库CLI工具,具有只读保护和结构化JSON输出。
  • sg - 用 Go 编写的 SQL 生成器,用于生成标准 SQL(支持:CRUD)。
  • sqlcredo - 用于类型安全通用 SQL CRUD 操作的包,支持分页、事务、调试和自定义原始 SQL 扩展。
  • dba - 用于手写SQL的SQL查询构建器,添加动态条件、方言感知占位符和不可变链式调用。
  • Bitcask - Bitcask 是一个用纯 Go 编写的可嵌入、持久且快速的键值(KV)数据库,得益于 bitcask 磁盘布局(LSM+WAL),具有可预测的读写性能、低延迟和高吞吐量。
  • hasql - 用于访问多主机 SQL 数据库安装的库。
  • Squalus - Go SQL 包之上的薄层,使执行查询更容易。

杂项 ​

用于依赖注入的库。

  • golang-standards/project-layout - Go 生态系统中常见的历史和新兴项目布局模式集合。注意:尽管组织名称如此,它们并不代表官方 Go 标准,请参阅此问题了解更多信息。尽管如此,某些布局可能仍然有用。
  • gatus - 自动化服务健康仪表盘。
  • gopsutil - 跨平台库,用于获取进程和系统利用率(CPU、内存、磁盘等)。
  • go-blueprint - 允许用户使用流行框架快速搭建 Go 项目。
  • fx - 基于 dig 构建的 Go 依赖注入应用框架。
  • gofakeit - 用 Go 编写的随机数据生成器。
  • dig - Go 的基于反射的依赖注入工具包。
  • ardanlabs/service - 用于构建生产级可扩展 Web 服务应用的入门套件。
  • purego - 一个无需 Cgo 即可从 Go 调用 C 函数的库。
  • goxygen - 在几秒钟内使用 Go 和 Angular、React 或 Vue 生成现代 Web 项目。
  • pagoda - 快速、简单的全栈 Web 开发入门套件,使用 Go 构建。
  • do - 基于泛型的依赖注入框架。
  • nunu - Nunu 是一个用于构建 Go 应用的脚手架工具。
  • base64Captcha - Base64captch 支持数字、数字、字母、算术、音频和数字字母验证码。
  • go-resiliency - Golang 的弹性模式。
  • modern-go-application - 应用现代实践的 Go 应用样板和示例。
  • shoutrrr - 通知库,提供对各种消息服务的轻松访问,如 Slack、Mattermost、Gotify 和 SMTP 等。
  • gosms - 用 Go 编写的本地短信网关,可用于发送短信。
  • xstrings - 从其他语言移植的有用字符串函数集合。
  • stateless - 一个用于创建状态机的流畅库。
  • sttr - 跨平台命令行应用,用于对字符串执行各种操作。
  • llvm - 纯 Go 编写的与 LLVM IR 交互的库。
  • go-commons-pool - Golang 的通用对象池。
  • goapp - 关于构建和开发 Go Web 应用/服务的指导性指南。
  • shortid - 分布式生成超短、唯一、非顺序、URL 友好的 ID。
  • health - 一个简单灵活的 Go 健康检查库。
  • go-ddd - 领域驱动设计模板,包含 CQRS、值对象、幂等命令和事务性发件箱。
  • cookiecutter-golang - 遵循生产最佳实践的 Go 应用样板模板,用于快速启动项目。
  • go-starter - 一个固执己见的生产就绪 RESTful JSON 后端模板,与 VSCode DevContainers 高度集成。
  • GoLobby/Container - GoLobby Container 是一个轻量但强大的 Go 语言 IoC 依赖注入容器。
  • golang-templates/seed - Go 应用 GitHub 仓库模板。
  • xz - 纯 Go 包,用于读写 xz 压缩文件。
  • banner - 为你的 Go 应用添加漂亮的横幅。
  • health - 易于使用、可扩展的健康检查库。
  • archives - 一个跨平台、多格式的 Go 库,用于处理归档和压缩格式,提供统一 API,并可作为兼容 io/fs 的虚拟文件系统。
  • gountries - 提供国家和细分数据的数据包。
  • lk - 一个简单的 Go 许可库。
  • goioc/di - 受 Spring 启发的依赖注入容器。
  • conv - conv 包提供跨 Go 类型的快速直观转换。
  • gtree - 提供 CLI、包和 Web 界面,用于从 Markdown 或编程方式生成树状输出和创建目录。
  • go-todo-backend - 使用模块化项目布局的 Go Todo 后端示例,适用于产品微服务。
  • ffmt - 美化数据展示,面向人类。
  • go-unarr - 用于 RAR、TAR、ZIP 和 7z 归档的解压缩库。
  • battery - 跨平台、标准化的电池信息库。
  • healthcheck - 一个为 RESTful 服务设计的、基于观点且并发的健康检查 HTTP 处理器。
  • antch - 一个快速、强大且可扩展的网页爬取与抓取框架。
  • bitio - 高度优化的 Go 位级 Reader 和 Writer。
  • gobeam/Stringy - 字符串操作库,用于将字符串转换为驼峰式、蛇形式、烤肉串式/生成 slug 等。
  • strutil - 字符串工具集。
  • kod - 基于泛型的 Go 依赖注入框架。
  • dingo - 基于 Guice 的 Go 依赖注入工具包。
  • stats - 监控 Go MemStats 和系统统计信息(如内存、交换和 CPU),并通过 UDP 发送到任何你想记录的地方等。
  • turtle - Go 的表情符号。
  • stringFormatter - 类似 Python 或 C# 的字符串格式化方式,并附带额外的文本格式化功能。
  • captcha - captcha 包为验证码生成提供了易于使用、无偏见的 API。
  • gontainer - 面向 Go 项目的依赖注入服务容器。
  • scaffold - Scaffold 生成一个起始 Go 项目布局,让您专注于业务逻辑的实现。
  • go-sample - 包含真实代码的 Go 应用项目示例布局。
  • gommit - 分析 git 提交消息,确保它们符合定义的模式。
  • kickstart.go - 极简的单文件 Go HTTP 服务器模板,无第三方依赖。
  • indigo - 使用 Sonyflake 并基于 Base58 编码的分布式唯一 ID 生成器。
  • gotoprom - 针对官方 Prometheus 客户端的类型安全指标构建器包装库。
  • faker - Go 的随机假数据和结构体生成器。
  • goffi - 纯 Go FFI,具有 libffi 风格的类型化调用接口和结构化错误处理,无需 CGO 即可调用 C 库。
  • persian - 一些用于波斯语的 Go 实用工具。
  • morse - 用于摩尔斯电码转换的库。
  • Go-Spring - 受 Spring Boot 启发的高性能 Go 框架,提供 DI、自动配置和生命周期管理,同时保持 Go 的简洁与高效。
  • godi - 微软风格的 Go 依赖注入,支持作用域生命周期和泛型。
  • pdfgen - 从 JSON 请求生成 PDF 的 HTTP 服务。
  • go-rest-api-boilerplate - AI 友好、生产就绪的 Go REST API 样板,采用整洁架构、JWT 认证、RBAC、PostgreSQL、Docker 热重载和 Swagger 文档。
  • gobase - 用于真实 Go 应用的基本设置的简单骨架。
  • caps - 一个大小写转换库。
  • xkg - X 键盘抓取器。
  • alice - Golang 的加法依赖注入容器。
  • url-shortener - 一个现代、强大且健壮的 URL 缩短器微服务,支持 MySQL。
  • datacounter - 用于 reader/writer/http.ResponseWriter 的 Go 计数器。
  • xdg - 用 Go 实现的 FreeDesktop.org (xdg) 规范。
  • browscap_go - GoLang 库,用于 浏览器能力项目。
  • sandid - 地球上的每一粒沙子都有自己的 ID。
  • autoflags - Go 包,用于从结构体字段自动定义命令行标志。
  • wire - Golang 的严格运行时依赖注入。
  • go-module - 典型 Go 模块的模板。
  • numa - NUMA 是一个用 Go 编写的实用工具库,帮助我们编写 NUMA 感知的代码。
  • boot-go - 面向 Go 开发者的基于反射的组件化依赖注入开发。
  • parsley - 灵活且模块化的基于反射的 DI 库,具有作用域上下文和代理生成等高级特性,专为大型 Go 应用设计。
  • gosh - 提供 Go 统计处理器、结构体、测量方法。
  • linker - 基于反射的依赖注入与控制反转库,支持组件生命周期管理。
  • nject - 类型安全、基于反射的框架,适用于库、测试、HTTP 端点和服务启动。
  • componego - 基于组件的依赖注入框架,允许在测试中无需重复代码即可动态替换依赖。
  • ore - 轻量、通用且简单的依赖注入(DI)容器。
  • metrics - 用于指标仪器化和 Prometheus 暴露的库。
  • shellwords - 一个根据 UNIX Bourne shell 的词法解析规则操作字符串的 Go 库。
  • wangyoucao577/go-project-layout - 关于如何组织 Go 项目布局的实践与讨论集合。
  • bexp - Go 实现的花括号展开机制,用于生成任意字符串。
  • gocontainer - 简单的依赖注入容器。
  • insidieux/inizio - 带插件的 Golang 项目布局生成器。
  • fake-useragent - 使用真实世界数据库的 Golang 最新简单 useragent 伪造器。
  • gontainer/gontainer - 基于 YAML 的 Go 依赖注入容器。支持依赖作用域和循环依赖自动检测。Gontainer 是并发安全的。
  • avgRating - 基于 Wilson 得分方程计算平均分数和评级。
  • strcase - 标准库 strings/bytes 包的不区分大小写实现。
  • anagent - 极简、可插拔的 Go 事件循环/定时器处理器,支持依赖注入。
  • go-commandbus - 一个轻量且可插拔的 Go 命令总线。
  • varint - 比标准库提供的变长整数编码器/解码器更快的实现。
  • hostutils - 一个用于打包和解包 FQDN 列表的 Go 库。
  • autowire - 使用泛型和反射的依赖注入。
  • floatdrop/di - 基于泛型方法构建的依赖注入容器,支持子作用域、生命周期钩子,并在构建任何内容之前进行图验证。
  • kinit - 可定制的依赖注入容器,支持全局模式、级联初始化和 panic 安全终结。
  • str - 以管道为先的字符串工具包,用于组合转换操作。
  • HnH/di - 专注于简洁 API 和灵活性的 DI 容器库。
  • VarHandler - 生成样板 HTTP 输入和输出处理。
  • basexx - 在各种数字进制之间进行转换,支持从、到以及之间的数字字符串转换。
  • sitemap-format - 一个简单的站点地图生成器,带有一点语法糖。
  • common - 一个用于服务器框架的库。
  • go-beans - 受 Spring 启发的 Go 依赖注入与应用生命周期框架。
  • go-grpc-bazel-example - 使用 Bazel、grpc-gateway、OpenAPI 和 Kubernetes 的 Go gRPC 微服务示例单体仓库。
  • yama - 编译时依赖注入和生命周期框架,为 Google Wire 图生成启动、静默和停止代码。
  • cosban/di - 基于代码生成的依赖注入装配工具。
  • go-formatter - 实现由花括号 {} 包围的替换字段格式字符串。
  • go-openapi - 用于解析和利用 open-api 模式的包集合。

区块链 ​

用于构建区块链的工具。

  • go-ethereum - 以太坊协议的官方 Go 实现。
  • kubo - 一个用 Go 实现的 IPFS。它提供内容寻址存储,可用于 DApp 中的去中心化存储。它基于 IPFS 协议。
  • lnd - 一个完整的闪电网络节点实现。
  • cosmos-sdk - 在 Cosmos 生态系统中构建公共区块链的框架。
  • tendermint - 高性能中间件,可将用任何编程语言编写的状态机转换为使用 Tendermint 共识和区块链协议的拜占庭容错复制状态机。
  • solana-go - 用于与 Solana JSON RPC 和 WebSocket 接口交互的 Go 库。
  • gno - 使用 Golang 和 Gnolang(一种为区块链设计的确定性、专用 Go 变体)构建的全面智能合约套件。
  • cometbft - 一个分布式、拜占庭容错、确定性的状态机复制引擎。它是 Tendermint Core 的一个分支,并实现了 Tendermint 共识算法。
  • gossamer - Polkadot Host 的 Go 实现。
  • pactus - Pactus 区块链的 Go 全节点实现。
  • nview - Cardano 节点的本地监控工具。它是一个 TUI(终端用户界面),设计适配大多数屏幕。
  • gosemble - 基于 Go 的框架,用于构建 Polkadot/Substrate 兼容的运行时。
  • tronlib - 一个全面、生产就绪的 Go SDK,用于与 TRON 区块链交互,支持 TRC20 代币。

命令行 ​

用于构建控制台应用程序和控制台用户界面的库。

  • bubbletea - 基于 Elm 架构的 Go 框架,用于构建终端应用。
  • cobra - 面向现代 Go CLI 交互的 Commander。
  • urfave/cli - 用于在 Go 中构建命令行应用的简单、快速且有趣的包(原 codegangsta/cli)。
  • vhs - 你的 CLI 家庭录像机——从代码生成终端 GIF,用于文档和教程。
  • fx - 终端 JSON 查看器与处理器。
  • termui - 基于 termbox-go 的 Go 终端仪表盘,灵感来自 blessed-contrib。
  • lipgloss - 在终端中声明式地定义颜色、格式和布局的样式。
  • gocui - 极简 Go 库,旨在创建控制台用户界面。
  • bubbles - 用于 bubbletea 的 TUI 组件。
  • huh - 用于在终端中构建交互式表单和提示符的轻量级库。
  • elvish - 一种富有表现力的编程语言和一个多功能的交互式 shell。
  • pterm - 一个可在每个平台上美化控制台输出的库,包含许多可组合组件。
  • go-prompt - 用于构建强大交互式提示符的库,灵感来自 python-prompt-toolkit。
  • termbox-go - Termbox 是一个用于创建跨平台文本界面的库。
  • progressbar - 适用于所有操作系统的基本线程安全进度条。
  • glamour - 基于样式表的终端应用 Markdown 渲染。
  • kingpin - 支持子命令的命令行和标志解析器(已被 kong 取代;见下文)。
  • asciigraph - Go 包,用于在命令行应用中绘制轻量级 ASCII 折线图 ╭┈╯,无其他依赖。
  • Dnote - 一个支持多设备同步的简单命令行笔记本。
  • termdash - 基于 termbox-go 的 Go 终端仪表盘,灵感来自 termui。
  • pflag - Go flag 包的即插即用替代品,实现 POSIX/GNU 风格的 --flags。
  • go-flags - go 命令行选项解析器。
  • spinner - Go 包,可轻松提供带选项的终端 spinner。
  • mpb - 终端应用的多进度条。
  • go-arg - Go 中基于结构体的参数解析。
  • uiprogress - 用于在终端应用中渲染进度条的灵活库。
  • termenv - 为你的终端应用提供高级 ANSI 样式与颜色支持。
  • carapace-bin - 多 shell 多命令参数补全器。
  • uilive - 用于实时更新终端输出的库。
  • gookit/color - 终端颜色渲染工具库,支持 16 色、256 色、RGB 颜色渲染输出,兼容 Windows。
  • ops - Unikernel 构建器/编排器。
  • aurora - 支持 fmt.Printf/Sprintf 的 ANSI 终端颜色。
  • carapace - 为 spf13/cobra 生成命令参数补全。
  • liner - 类似 Go readline 的命令行界面库。
  • complete - 用 Go 编写 bash 补全 + Go 命令的 bash 补全。
  • flaggy - 一个健壮且惯用的标志包,具有出色的子命令支持。
  • go-isatty - Go 语言的 isatty。
  • mow.cli - 用于构建具有复杂标志和参数解析及验证的 CLI 应用程序的 Go 库。
  • go-colorable - 适用于 Windows 的可着色写入器。
  • uitable - 使用表格数据提高终端应用可读性的库。
  • mkideal/cli - 基于 Go 结构体标签的功能丰富且易于使用的命令行包。
  • box-cli-maker - 在终端中渲染高度可定制的框。
  • argparse - 受 Python 的 argparse 模块启发的命令行参数解析器。
  • gommon/color - 为终端文本设置样式。
  • bubble-table - 用于 bubbletea 的交互式表格组件。
  • simpletable - 使用 Go 在终端中创建简单表格。
  • yacspin - 又一个 CLI Spinner 包,用于处理终端 spinner。
  • go-tui - 声明式终端 UI 框架,具有类似 templ 的模板、flexbox 布局,以及用于编辑器支持的语言服务器。
  • tabby - 一个用于超级简单 Golang 表格的微型库。
  • wmenu - 易于使用的 CLI 应用程序菜单结构,提示用户做出选择。
  • go-colortext - 用于终端颜色输出的 Go 库。
  • climax - 具有“人性化界面”的替代 CLI,秉承 Go 命令的精神。
  • vibecheck - 跨平台 CLI,可根据代码更改自动生成 Git 提交消息。
  • clîr - 一个简单清晰的 CLI 库。无依赖。
  • hiboot cli - 具有自动配置和依赖注入的 CLI 应用程序框架。
  • commandeer - 开发者友好的 CLI 应用:基于结构体字段和标签设置标志、默认值和用法。
  • sflags - 基于结构体的标志生成器,适用于 flag、urfave/cli、pflag、cobra、kingpin 等库。
  • acmd - Go 中简单、实用且固执己见的 CLI 包。
  • job - JOB,将你的短期命令变成长期任务。
  • readline - 具有现代且易用 UI 功能的 Shell 库。
  • cmdr - 一个 POSIX/GNU 风格、类似 getopt 的命令行界面 Go 库。
  • teris-io/cli - 用于在 Go 中构建命令行界面的简单而完整的 API。
  • loom - 基于信号的反应式组件框架,用于构建 TUI。
  • env - 基于标签的结构体环境配置。
  • console - 面向 Cobra 命令的闭环应用库,带有 oh-my-posh 提示等。
  • version - 以多种格式收集并显示 CLI 版本信息,同时提供升级通知。
  • command-chain - 用于配置和运行命令链的 Go 库——例如 Unix shell 中的管道。
  • gocmd - 用于构建命令行应用程序的 Go 库。
  • wlog - 支持跨平台颜色和并发的简单日志接口。
  • lazyenv - 用于浏览、比较和编辑 .env 文件的 TUI。
  • strumt - 用于创建提示链的库。
  • go-getoptions - 受 Perl 的 GetOpt::Long 灵活性启发的 Go 选项解析器。
  • ctc - 非侵入式跨平台终端颜色库,无需修改 Print 方法。
  • marker - 匹配和标记字符串以实现彩色终端输出的最简单方法。
  • table - 用于终端彩色表格的小型库。
  • boa - 基于结构体标签的声明式标志、环境变量、验证和配置文件。基于 cobra 构建。
  • flagvar - Go 标准 flag 包的标志参数类型集合。
  • cmd - 以惯用方式扩展标准 flag 包以支持子命令等。
  • mcli - 一个极简但非常强大的 Go CLI 库。
  • phoenix - 高性能 TUI 框架,采用 Elm 风格架构,完美的 Unicode 渲染,以及零分配事件系统。
  • OpenCLI - 面向 CLI 的 OpenAPI 风格规范;用语言无关的文档定义接口,以生成文档和框架样板代码。
  • argv - 使用 bash 语法将命令行字符串拆分为参数数组的 Go 库。
  • hashicorp/cli - 用于实现命令行界面的 Go 库。
  • go-readline-ny - 一个可定制的行编辑库,支持 Emacs 键绑定、Unicode、补全和语法高亮。用于 NYAGOS shell。
  • carapace-spec - 使用规范文件定义简单补全。
  • orpheus - 具有安全加固、插件存储系统和生产可观测性功能的 CLI 框架。
  • goscaf - goscaf 通过交互式 CLI 生成有主见、生产级的 Go 项目脚手架。无需在项目间复制粘贴骨架代码。
  • go-ataman - 用于在终端中渲染 ANSI 彩色文本模板的 Go 库。
  • go-palette - Go 库,使用 ANSI 颜色提供优雅便捷的样式定义。完全兼容并封装了 fmt 库,以实现良好的终端布局。
  • structcli - 消除 Cobra 样板代码:从 Go 结构体以声明方式构建功能强大的 CLI。
  • memsh - Go 中的虚拟 bash shell:针对内存文件系统(afero)执行 shell 命令,支持 WASM 插件和可嵌入的 HTTP 服务器。
  • subcmd - 解析和运行子命令的另一种方法。与标准 flag 包协同工作。
  • flash-flags - 超快、零依赖、符合 POSIX 的标志解析库,可作为 stdlib 的即插即用替代品,并具有安全加固。
  • getopt - 一个精确的 Go getopt,已针对 GNU libc 实现进行验证。
  • GoPOSIX - 一个 Go 原生的单二进制多调用工具,包含 77 个 POSIX 工具,与 BusyBox 测试兼容性超过 97%。
  • crab-config-files-templating - 用于 Kubernetes 清单或通用配置文件的动态配置文件模板化工具。
  • neuron-cli - 一个本地优先、兼容 Obsidian 的终端知识管理器。
  • goopt - 一个基于结构体标签的声明式 Go CLI 框架,功能广泛,包括层级命令/标志、国际化、Shell 补全和验证。
  • go-arch - 用于搭建 Go 应用的 CLI 工具,支持极简、标准和六边形架构模式。
  • gozen - gozen 是一个简化的 Golang MVC 框架,用于生成项目和组件,支持 REST、gRPC 等。高度可定制,易于添加任何 API 层或 worker。
  • lazyteams - 面向 Microsoft Teams 的键盘驱动终端用户界面。
  • eyez - eyez 是一个便捷的 CLI 工具,可直接在终端中查看图像,支持大多数终端模拟器。
  • Fling-CLI - 基于自定义可靠 UDP 的终端点对点文件和消息传输工具。
  • chroma16 - 从单一种子颜色或字符串生成和谐的 16 色终端调色板。

ORM ​

实现对象关系映射或数据映射技术的库。

  • GORM - 优秀的 Golang ORM 库,旨在对开发者友好。
  • ent - Go 的实体框架。简单而强大的 ORM,用于数据建模和查询。
  • SQLBoiler - ORM 生成器。为你的数据库 schema 生成功能丰富且极速的 ORM。
  • bun - SQL 优先的 Golang ORM。go-pg 的继任者。
  • gorp - Go 的关系持久化,类似 ORM 的库。
  • upper.io/db - 通过封装成熟数据库驱动程序的适配器,用单一接口与不同数据源交互。
  • gormt - MySQL 数据库转 golang gorm 结构体。
  • Prisma - Prisma Client Go,Go 的类型安全数据库访问。
  • bob - Go 的 SQL 查询构建器及 ORM/工厂生成器。SQLBoiler 的继任者。
  • go-sqlbuilder - 灵活强大的 SQL 字符串构建器库,外加零配置 ORM。
  • pop/soda - 适用于 MySQL、PostgreSQL 和 SQLite 的数据库迁移、创建、ORM 等。
  • reform - 更好的 Go ORM,基于非空接口和代码生成。
  • rel - 现代 Golang 数据库访问层——可测试、可扩展,并打造为干净优雅的 API。
  • Zoom - 基于 Redis 构建的极速数据存储和查询引擎。
  • go-sql - MySQL 的简易 ORM。
  • GoooQo - 基于声明式查询模型的数据库访问框架。
  • golobby/orm - 简单、快速、类型安全、泛型的 ORM,旨在提升开发者幸福感。
  • grimoire - Grimoire 是 golang 的数据库访问层和验证库。(支持:MySQL、PostgreSQL 和 SQLite3)。
  • go-store - Go 的简单快速 Redis 后端键值存储库。
  • go-firestorm - Google/Firebase Cloud Firestore 的简单 ORM。
  • cacheme - 基于 schema 的 Go 类型化 Redis 缓存/记忆化框架。
  • go-dbw - 封装数据库操作的简单包。
  • CQL - 构建于 GORM 之上,基于自动生成的代码提供编译时验证的查询。
  • lore - Go 的简单轻量级伪 ORM/伪结构映射环境。
  • marlow - 从项目结构体生成的 ORM,确保编译时安全。
  • XORM - Go 的简单而强大的 ORM。(支持:MySQL、MyMysql、PostgreSQL、Tidb、SQLite3、MsSql 和 Oracle)。

持续集成 ​

用于辅助持续集成的工具。

  • drone - Drone 是一个基于 Docker 构建的持续集成平台,使用 Go 编写。
  • woodpecker - Woodpecker 是 Drone CI 系统的社区分支。
  • CDS - 企业级 CI/CD 和 DevOps 自动化开源平台。
  • muffet - 用 Go 编写的快速网站链接检查器,参见替代方案。
  • abstruse - Abstruse 是一个分布式 CI 平台。
  • goveralls - Go 对 Coveralls.io 持续代码覆盖率跟踪系统的集成。
  • gotestfmt - 面向人类的 go test 输出。
  • PikoCI - 受 Concourse 启发的自托管 CI/CD。单个二进制,任意数据库,任意队列。HCL 管道,可插拔的资源类型和运行器。
  • overalls - 多包 Go 项目的 coverprofile,适用于 goveralls 等工具。
  • gomason - 从干净的工作区测试、构建、签名和发布你的 Go 二进制文件。
  • dot - 一个极简、本地优先的持续集成系统,使用 Docker 分阶段并发运行任务。
  • go-semver-release - 自动化 Git 仓库的语义化版本管理。
  • go-beautiful-html-coverage - 一个 GitHub Action,用于跟踪拉取请求中的代码覆盖率,并提供漂亮的 HTML 预览,完全免费。
  • roveralls - 递归覆盖率测试工具。
  • go-fuzz-action - 在 GitHub Actions 中使用 Go 1.18 的内置模糊测试。
  • Bencher - 一套持续基准测试工具,旨在捕获 CI 中的性能回退。
  • go-test-coverage - 一个 GitHub Action,当测试覆盖率低于设定阈值时报告问题。

分布式系统 ​

有助于构建分布式系统的包。

  • go-zero - 一个 Web 和 RPC 框架。其设计旨在通过弹性设计确保繁忙站点的稳定性。内置 goctl 大幅提升开发效率。
  • go-kit - 微服务工具包,支持服务发现、负载均衡、可插拔传输、请求追踪等。
  • Kratos - 一个模块化设计、易于使用的 Go 微服务框架。
  • grpc-go - gRPC 的 Go 语言实现。基于 HTTP/2 的 RPC。
  • go-micro - 一个分布式系统开发框架。
  • NATS - NATS 是一个简单、安全且高性能的通信系统,适用于数字系统、服务和设备。
  • raft - HashiCorp 的 Raft 共识协议的 Golang 实现。
  • rpcx - 分布式可插拔 RPC 服务框架,类似阿里巴巴 Dubbo。
  • Kitex - 一个高性能、强扩展性的 Golang RPC 框架,帮助开发者构建微服务。如果在开发微服务时主要关注性能和扩展性,Kitex 是一个不错的选择。
  • lura - 超高性能的 API 网关框架,支持中间件。
  • torrent - BitTorrent 客户端包。
  • dragonboat - Go 中功能完备且高性能的多组 Raft 库。
  • evans - Evans:更具表现力的通用 gRPC 客户端。
  • emitter-io - 基于 MQTT、Websockets 与热爱构建的高性能、分布式、安全且低延迟的发布-订阅平台。
  • gleam - 纯 Go 与 Luajit 编写的高性能可扩展分布式 map/reduce 系统,结合 Go 的高并发与 Luajit 的高性能,可独立运行或分布式运行。
  • Dragonfly - 基于 p2p 技术提供高效、稳定、安全的文件分发与镜像加速,成为云原生架构中的最佳实践与标准解决方案。
  • glow - 易用的可扩展分布式大数据处理、Map-Reduce、DAG 执行,全部使用纯 Go。
  • sponge - 一个集成了自动代码生成、gin 和 grpc 框架以及基础开发框架的分布式开发框架。
  • liftbridge - 轻量级、容错的消息流,用于 NATS。
  • oras - 用于容器仓库中 OCI 制品的 CLI 和库。
  • go-eagle - 用于 API 或微服务的 Go 框架,附带便捷的脚手架工具。
  • mochi mqtt - 完全符合规范、可嵌入的高性能 MQTT v5/v3 代理,适用于物联网、智能家居和发布订阅。
  • redis-lock - 使用 Redis 的简化分布式锁实现。
  • K8gb - 一个云原生 Kubernetes 全局负载均衡器。
  • hprose - 非常新颖的 RPC 库,现已支持 25+ 种语言。
  • trpc-go - tRPC 的 Go 语言实现,一个可插拔的高性能 RPC 框架。
  • go-doudou - 基于 gossip 协议与 OpenAPI 3.0 规范的去中心化微服务框架。内置 go-doudou cli,专注于低代码与快速开发,可提升生产力。
  • rain - BitTorrent 客户端和库。
  • raft - CoreOS 的 Raft 共识协议的 Go 实现。
  • arpc - 更高效的网络通信,支持双向调用、通知与广播。
  • Temporal - 持久执行系统,使代码容错且简单。
  • opentelemetry-go-auto-instrumentation - Golang 的 OpenTelemetry 编译时插桩。
  • consistent - 带负载上限的一致性哈希。
  • gorpc - 面向高负载的简单、快速、可扩展的 RPC 库。
  • go-sundheit - 为 Go 服务提供异步健康检查定义的库。
  • digota - gRPC 电商微服务。
  • go-jump - Google "Jump" 一致性哈希函数的移植。
  • sleuth - 用于 HTTP 服务之间无主 P2P 自动发现和 RPC 的库(使用 ZeroMQ)。
  • jsonrpc - JSON-RPC 2.0 HTTP 客户端实现。
  • dht - BitTorrent Kademlia DHT 实现。
  • Tarmac - 用于编写函数、微服务或单体应用的 WebAssembly 框架。
  • jsonrpc - jsonrpc 包帮助实现 JSON-RPC 2.0。
  • outboxer - Outboxer 是一个实现发件箱模式的 Go 库。
  • outbox - Go 中事务性发件箱模式的轻量级库,不绑定任何特定关系数据库或代理。
  • doublejump - 改进版 Google Jump 一致性哈希。
  • Semaphore - 一个简单的(微)服务编排器。
  • cmd-stream-go - 面向 Go 的高性能分布式命令模式库。
  • dot - 基于操作转换(OT)的分布式同步。
  • capillaries - 分布式批处理数据框架。
  • flowgraph - 流式编程包。
  • go-mysql-lock - 基于 MySQL 的分布式锁。
  • drmaa - 基于 DRMAA 标准的集群调度器作业提交库。
  • go-pdu - 一个去中心化的基于身份识别的社交网络。
  • committer - 分布式事务管理系统(2PC/3PC 实现)。
  • consistenthash - 可配置副本数的一致性哈希。
  • gmsec - 一个 Go 分布式系统开发框架。
  • bedrock - 为在 Go 中快速开发服务及更多特定用例框架提供极简、模块化且可组合的基础。
  • dynatomic - 用于将 DynamoDB 用作原子计数器的库。
  • failured - 面向分布式系统的自适应累积故障检测器。
  • health - 支持 Kubernetes 探针的 Go 服务健康检查器。
  • circuit - 通过概率限流实现渐进恢复的熔断器。
  • lock - 分布式锁家族,一个 Go 接口,五种后端(filelock、flock、Redis、Postgres、etcd)——跨所有后端支持 fencing token、信号量模式和可观测性钩子。
  • servicepack - 在单个二进制中并发运行多个服务的框架,可本地运行或跨机器分布式运行。
  • rpcplatform - 微服务框架,提供服务发现、负载均衡及相关功能。
  • dynamolock - 基于 DynamoDB 的分布式锁实现。
  • pglock - 基于 PostgreSQL 的分布式锁实现。
  • pjrpc - Golang JSON-RPC 服务器-客户端,使用 Protobuf 规范。
  • resgate - 用于构建 REST、实时和 RPC API 的实时 API 网关,所有客户端无缝同步。

配置 ​

用于配置解析的库。

  • viper - 带尖牙的 Go 配置。
  • godotenv - Ruby 的 dotenv 库的 Go 移植版(从 .env 加载环境变量)。
  • sonic - 一个极快的 JSON 序列化和反序列化库。
  • env - 将环境变量解析为 Go 结构体(支持默认值)。
  • kelseyhightower/envconfig - 用于从环境变量管理配置数据的 Go 库。
  • koanf - 轻量、可扩展的 Go 应用配置读取库,内置支持 JSON、TOML、YAML、env、命令行。
  • ini - 用于读写 INI 文件的 Go 包。
  • kong - 命令行解析器,支持任意复杂的命令行结构以及 YAML、JSON、TOML 等其他配置来源(kingpin 的继任者)。
  • cleanenv - 极简配置读取器(从文件、ENV 以及任何你想要的地方)。
  • xdg - Go 实现的 XDG 基础目录规范 和 XDG 用户目录。
  • aconfig - 简单、实用且固执己见的配置加载器。
  • konfig - 面向分布式处理时代的 Go 可组合、可观察且高性能的配置处理。
  • gookit/config - 应用配置管理(加载、获取、设置)。支持 JSON、YAML、TOML、INI、HCL。多文件加载,数据覆盖合并。
  • confita - 从多个后端级联加载配置到结构体中。
  • konf - 用于从文件、环境变量、标志和云(如 AWS、Azure、GCP)读取/监视配置的最简单 API。
  • fig - 用于从文件和环境变量读取配置的小型库(支持校验和默认值)。
  • GoLobby/Config - GoLobby Config 是一个轻量级但功能强大的 Go 编程语言配置管理器。
  • hjson - Human JSON,一种面向人类的配置文件格式。语法宽松,错误更少,注释更多。
  • config - 云原生应用配置。仅用两行代码将 ENV 绑定到结构体。
  • envconfig - 从环境变量读取配置。
  • zerocfg - 零成本、简洁的配置管理,避免样板和重复代码,支持多来源优先级覆盖。
  • argus - 文件监视和配置管理,支持 MPSC 环形缓冲区、自适应批处理策略和通用格式解析(JSON、YAML、TOML、INI、HCL、Properties)。
  • harvester - Harvester,一个易于使用的静态和动态配置包,支持种子、环境变量和Consul集成。
  • onion - 基于层的 Go 配置,支持 JSON、TOML、YAML、properties、etcd、env,以及使用 PGP 加密。
  • configuration - 用于从环境变量、文件、标志和 'default' 标签初始化配置结构体的库。
  • envh - 用于管理环境变量的辅助工具。
  • configuro - 面向12-Factor应用的、基于环境变量和文件的、有主见的配置加载与校验框架。
  • hocon - 用于处理 HOCON(一种人类友好的 JSON 超集)格式的配置库,支持环境变量、引用其他值、注释和多文件等特性。
  • env - 一个轻量级包,用于将环境变量加载到结构体中。
  • uConfig - 轻量、零依赖、可扩展的配置管理。
  • go-aws-ssm - 从 AWS System Manager - Parameter Store 获取参数的 Go 包。
  • config - 用两行代码通过文件、环境变量或标志配置你的应用。
  • gone/jconf - 模块化JSON配置。将配置结构体与它们所配置的代码放在一起,并将解析委托给子模块,同时不牺牲完整的配置序列化。
  • go-cfg - 该库提供了一种统一的方式,从各种来源(如环境变量、标志和配置文件(.json、.yaml、.toml、.env))将配置数据读取到结构中。
  • goconfig - 从标志、环境变量、config.json和默认值以确定性优先级填充Go结构体。无额外依赖。
  • genv - 轻松读取环境变量,支持 dotenv。
  • go-up - 一个简单的配置库,支持递归占位符解析,无魔法。
  • confiq - 用于Go的结构化数据格式到配置结构体解码器库,支持多种数据格式。
  • enflag - 面向容器、零依赖的配置库,统一了环境变量和标志解析。使用泛型保证类型安全,无需反射或结构体标签。
  • conflate - 用于从任意URL合并多个JSON/YAML/TOML文件的库/工具,支持针对JSON Schema进行校验,并应用Schema中定义的默认值。
  • bcl - BCL 是一种类似于 HCL 的配置语言。
  • go-array - 一个从 map、slice 或 json 读取或设置数据的 Go 包。
  • go-ssm-config - 用于从AWS SSM(Parameter Store)加载配置参数的Go工具。
  • envyaml - 支持环境变量的YAML读取器。它有助于将机密作为环境变量,但将配置加载为结构化的YAML。
  • nasermirzaei89/env - 用于读取环境变量的简单实用包。
  • yamagiconf - 用于 Go 配置的 YAML“安全子集”。
  • go-ini - 一个用于编组和解组 INI 文件的 Go 包。
  • ini - INI 解析与写入库,支持解组到结构体、编组为 JSON、写入文件、监听文件。
  • go-conf - 基于注解结构体的简单应用配置库。支持从环境变量、配置文件和命令行参数读取配置。
  • nfigure - 基于结构体标签的配置库,支持命令行(Posix 和 Go 风格)、环境变量、JSON、YAML。
  • typenv - 极简、零依赖、类型化的环境变量库。
  • piper - Viper 包装器,支持配置继承和密钥生成。
  • go-yamlvalidator - 支持原生Go模式和JSON Schema的源感知YAML校验。
  • gonfig - 基于标签的配置解析器,从不同提供者加载值到类型安全的结构体。
  • env - 一个环境工具包,支持解组到结构体。
  • hedzr/store - 可扩展、高性能的配置管理库,针对分层数据优化。
  • swap - 基于构建环境递归实例化/配置结构体(YAML、TOML、JSON 和 env)。
  • azureappconfiguration - 用于从 Go 应用程序消费 Azure App Configuration 数据的配置提供程序。
  • go-config - 用于处理应用配置的简单便捷库。
  • GoCfg - 基于结构体标签契约的配置管理器,支持自定义值提供者、解析器和文档生成。可定制且简单。
  • go-external-config - 受 Spring 启发的 Go 配置管理库。
  • go-external-config/aws - go-external-config 的 AWS 属性源支持。
  • go-external-config/consul - go-external-config 的 Consul 属性源支持。
  • go-external-config/vault - go-external-config 的 Vault 属性源支持。
  • config - 基于结构体的配置加载器,带有专用配置文件解析器,支持环境变量、标志、默认值和验证。
  • goenv - 读取ENV环境变量,报告进程是否在生产或开发环境中运行。
  • gonfiguration - 通过反射从环境变量加载配置到结构体,支持结构体标签默认值和必填字段。

GUI ​

用于构建 GUI 应用程序的库。

  • fyne - 基于 Material Design 的跨平台原生 GUI,专为 Go 设计。支持:Linux、macOS、Windows、BSD、iOS 和 Android。
  • webview - 跨平台 webview 窗口,支持简单的双向 JavaScript 绑定(Windows / macOS / Linux)。
  • robotgo - Go 原生跨平台 GUI 系统自动化。控制鼠标、键盘等。
  • qt - Go 的 Qt 绑定(支持 Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。
  • app - 使用 GO、HTML 和 CSS 创建应用的包。支持:macOS、Windows(开发中)。
  • ui - Go 的平台原生 GUI 库。跨平台。
  • walk - Go 的 Windows 应用程序库套件。
  • DarwinKit - 使用 Go 构建原生 macOS 应用程序。
  • systray - 跨平台 Go 库,用于在通知区域放置图标和菜单。
  • go-sciter - Sciter 的 Go 绑定:用于现代桌面 UI 开发的可嵌入 HTML/CSS/脚本引擎。跨平台。
  • Cogent Core - 一个用于构建 2D 和 3D 应用的框架,支持 macOS、Windows、Linux、iOS、Android 和 Web。
  • gotk3 - GTK3 的 Go 绑定。
  • Spot - 响应式、跨平台桌面 GUI 工具包。
  • zenity - 跨平台 Go 库和 CLI,用于创建与用户进行图形交互的简单对话框。
  • energy - 基于 LCL(原生系统 UI 控件库)和 CEF(Chromium 嵌入式框架)的跨平台(Windows/macOS/Linux)
  • gosx-notifier - Go 的 OSX 桌面通知库。
  • cimgui-go - 通过 cimgui 为 Dear ImGui 自动生成的 Go 包装器。
  • gogpu/ui - GPU 加速的 GUI 工具包,包含 22 个控件、3 种设计系统(Material、Fluent、Cupertino)、响应式信号,且零 CGO(属于 GoGPU 生态系统)。
  • gowd - 使用 GO、HTML、CSS 和 NW.js 进行快速简单的桌面 UI 开发。跨平台。
  • unison - 面向 Go 桌面应用的统一图形用户体验工具包。支持 macOS、Windows 和 Linux。
  • trayhost - 跨平台 Go 库,用于在宿主操作系统的任务栏中放置图标。
  • gogpu/systray - 纯 Go 系统托盘库,支持 Windows、macOS 和 Linux,零 CGO(属于 GoGPU 生态系统的一部分)。
  • proton - 纯 Go 即时模式 GUI 框架,基于 Gio 构建,零 Cgo 依赖。
  • mac-sleep-notifier - Go 中的 OSX 睡眠/唤醒通知。
  • mac-activity-tracker - OSX 库,用于通知机器上的任何(可插拔)活动。
  • goradd/html5tag - 用于输出 HTML5 标签的库。
  • AppIndicator Go - libappindicator3 C 库的 Go 绑定。
  • gio - Gio 是一个用 Go 编写跨平台即时模式 GUI 的库。Gio 支持所有主要平台:Linux、macOS、Windows、Android、iOS、FreeBSD、OpenBSD 和 WebAssembly。
  • go-gtk - GTK 的 Go 绑定。
  • Goey - 面向 Windows/Linux/Mac 的跨平台 UI 工具包聚合器。GTK、Cocoa、Windows API
  • Wails - 使用内置操作系统 HTML 渲染器,以 HTML UI 构建 Mac、Windows、Linux 桌面应用。

测试 ​

用于测试代码库和生成测试数据的库。

  • Testify - 标准 Go 测试包的扩展。
  • keploy - 自动从 API 调用生成测试用例和数据 Mock。
  • chromedp - 一种驱动/测试 Chrome、Safari、Edge、Android WebView 及其他支持 Chrome 调试协议的浏览器的方式。
  • GoConvey - BDD 风格框架,带 Web UI 和实时重载。
  • mockery - 用于生成 Go 接口的工具。
  • rod - 一个 Devtools 驱动程序,让 Web 自动化和爬取变得简单。
  • go-sqlmock - 用于测试数据库交互的模拟 SQL 驱动。
  • testcontainers-go - 一个 Go 包,可轻松创建和清理基于容器的依赖,用于自动化集成/冒烟测试。简洁易用的 API 使开发人员能够以编程方式定义应在测试中运行的容器,并在测试完成后清理这些资源。
  • go-fuzz - 随机化测试系统。
  • go-cmp - 用于在测试中比较 Go 值的包。
  • playwright-go - 通过单一 API 控制 Chromium、Firefox 和 WebKit 的浏览器自动化库。
  • gomock - Go 编程语言的模拟框架。
  • httpexpect - 简洁、声明式且易于使用的端到端 HTTP 和 REST API 测试。
  • godog - Go 的 Cucumber BDD 框架。
  • hoverfly - 用于记录和模拟 REST/SOAP API 的 HTTP(S) 代理,具有可扩展的中间件和易于使用的 CLI。
  • moq - 从任何接口生成结构体的工具。该结构体可在测试代码中用作接口的模拟。
  • httpmock - 轻松模拟来自外部资源的 HTTP 响应。
  • is - 专业的轻量级 Go 测试迷你框架。
  • gnomock - 使用真实依赖(数据库、缓存,甚至 Kubernetes 或 AWS)在 Docker 中运行的集成测试,无需模拟。
  • go-vcr - 录制并重放你的 HTTP 交互,以实现快速、确定且准确的测试。
  • tparse - 用于汇总 go test 输出的 CLI 工具。支持管道。兼容 go test 标志。
  • embedded-postgres - 在 Linux、OSX 或 Windows 上本地运行真实的 Postgres 数据库,作为另一个 Go 应用或测试的一部分。
  • testfixtures - 类似 Rails 测试夹具的辅助工具,用于测试数据库应用程序。
  • counterfeiter - 用于生成自包含模拟对象的工具。
  • failpoint - Golang 的 failpoints 实现。
  • goblin - 类似 Mocha 的 Go 测试框架。
  • go-httpbin - HTTP 测试与调试工具,提供多种端点用于客户端测试。
  • goc - Goc 是 Go 编程语言的全面覆盖率测试系统。
  • cdp - Chrome 调试协议的类型安全绑定,可用于浏览器或其他实现该协议的调试目标。
  • baloo - 表达力强且多功能的端到端 HTTP API 测试,让测试变得简单。
  • minimock - Go 接口的模拟生成器。
  • go-txdb - 主要用于测试目的的单事务数据库驱动。
  • pgxmock - 实现 pgx - PostgreSQL 驱动和工具包 的模拟库。
  • gotest.tools - 一组用于增强 go testing 包并支持常见模式的包。
  • go-testdeep - 极其灵活的 Go 深度比较,扩展了 go testing 包。
  • gofight - Golang 路由框架的 API 处理器测试。
  • xgo - 一个通用的函数模拟库。
  • testza - 功能齐全的测试框架,带有漂亮的彩色输出。
  • cupaloy - 为你的测试框架提供的简单快照测试插件。
  • arch-go - Go 项目的架构测试工具。
  • frisby - REST API 测试框架。
  • go-snaps - Golang 中类似 Jest 的快照测试。
  • endly - 声明式端到端功能测试。
  • got - 一个令人愉悦的 Go 测试框架。
  • go-hit - Hit 是一个用 Go 编写的 HTTP 集成测试框架。
  • go-carpet - 在终端中查看测试覆盖率的工具。
  • Tavor - 通用模糊测试和增量调试框架。
  • go-test-coverage - 报告低于设定阈值的文件覆盖率的工具。
  • commander - 用于在 Windows、Linux 和 OSX 上测试 CLI 应用程序的工具。
  • charlatan - 用于生成测试用假接口实现的工具。
  • govcr - Golang 的 HTTP 模拟:记录和重放 HTTP 交互以进行离线测试。
  • Testo - 基于插件的测试框架,支持测试套件、并行测试、钩子和参数化。灵感来自 Pytest。
  • dbcleaner - 用于测试目的的干净数据库,灵感来自 Ruby 中的 database_cleaner。
  • jsonassert - 用于验证 JSON 负载是否正确序列化的包。
  • be - 极简的通用测试断言库。
  • testcase - 符合行为驱动开发习惯的测试框架。
  • gocrest - Go 断言的可组合的类似 hamcrest 的匹配器。
  • wstest - 用于单元测试 websocket http.Handler 的 Websocket 客户端。
  • gherkingen - BDD 样板生成器和框架。
  • selenosis - 无状态、Kubernetes 原生的中心,通过自定义资源将 Selenium、Playwright 和 MCP 会话路由到按需浏览器 Pod。
  • go-localstack - 用于在 AWS 测试中使用 localstack 的工具。
  • testcerts - 在测试函数中动态生成自签名证书和证书颁发机构。
  • timex - 原生 time 包的测试友好替代品。
  • assert - 与原生 Go 测试一起使用的基础断言库,提供自定义断言的构建块。
  • restit - Go 微框架,用于帮助编写 RESTful API 集成测试。
  • gospecify - 这为测试你的 Go 代码提供了 BDD 语法。任何使用过 rspec 等库的人都应该熟悉它。
  • should - 零依赖的测试库,提供详细的结构差异和人类可读的错误信息。
  • dsunit - 针对 SQL、NoSQL、结构化文件的数据存储测试。
  • gomatch - 用于针对模式测试 JSON 的库。
  • fixenv - 夹具管理引擎,灵感来自 pytest 夹具。
  • axiom - 可组合的 Go 测试框架,支持夹具、钩子、重试、元数据、插件和并行执行。
  • Hamcrest - 流畅的声明式 Matcher 对象框架,应用于输入值时会产生自描述结果。
  • fabricator - 类型安全的工厂,用于在 Go 中生成模拟和假数据,灵感来自 factory_boy 和 interface-forge。
  • flute - HTTP 客户端测试框架。
  • mockhttp - Go http.ResponseWriter 的模拟对象。
  • schema - 用于请求和响应中 JSON schema 的快速简便表达式匹配。
  • dft - 轻量级、零依赖的 Docker 容器,用于测试(或更多)。
  • mooncake - 为多种目的生成模拟的简单方法。
  • gogiven - 类似 YATSPEC 的 Go BDD 测试框架。
  • testsql - 在测试前从 SQL 文件生成测试数据,并在测试完成后清除。
  • bonk - 基于 WebSocket 的 Chrome DevTools 协议、无外部依赖的快速隐身优先浏览器自动化库。
  • biff - 分支测试框架,兼容 BDD。
  • stop-and-go - 用于并发测试的辅助工具。
  • gosuite - 通过利用 Go1.7 的子测试,为 testing 带来轻量级测试套件,并具备 setup/teardown 功能。
  • Tt - 简单且多彩的测试工具。
  • mockfs - 用于 Go 测试的模拟文件系统,支持错误注入和延迟模拟,基于 testing/fstest.MapFS 构建。
  • go-testpredicate - 测试谓词风格断言库,具有丰富的诊断输出。
  • gomock - 用于生成类型化且与框架无关的接口模拟的 CLI 工具,支持泛型。
  • go-mutesting - Go 的变异测试,具备 CI 质量门禁、覆盖率感知的 MSI、基线跟踪和 git-diff 过滤。
  • go-testing - Go 测试扩展,支持简单搭建强隔离的单元、组件和集成测试,提供扩展 gomock 和 gock 的高级 mock 支持。
  • trial - 快速简便的可扩展断言,无需引入大量样板代码。
  • envite - 开发与测试环境管理框架。
  • assay - 与框架无关的评估库,用于测试 Go 代理和 MCP 服务器,支持确定性检查、CI 就绪的退出码和零代码的基于 YAML 的测试。
  • go-mysql-test-container - Golang MySQL 测试容器,用于辅助 MySQL 集成测试。
  • prettycov - 将 Go 覆盖率概况绘制为包树,每行显示总计。
  • coverage - 一个简单的 Go 测试覆盖率 Web UI,以及可复用的 GitHub Action go-test-coverage-html-report。
  • httper - 用于 JetBrains .http 文件的 CLI 运行器,支持脚本、断言、gRPC 和负载测试。
  • omg.testingtools - 用于测试时修改私有字段值的简单库。
  • gomocker - 一个用于 Golang 单元测试的函数和方法实时模拟库,具有流畅的语法,无需代码生成。
  • wsmock - 富有表现力、零样板代码的 WebSocket 模拟服务器,用于测试,支持故障注入和断言。
  • apitest - 简单且可扩展的行为测试库,用于基于 REST 的服务或 HTTP 处理器,支持模拟外部 HTTP 调用和渲染序列图。
  • ginkgo - Go 的 BDD 测试框架。
  • gocheck - 比 gotest 更高级的测试框架替代方案。
  • gomega - 类似 Rspec 的匹配器/断言库。
  • genmock - 带有代码生成器的 Go 模拟系统,用于构建接口方法的调用。
  • moxie - 在嵌入结构体上生成模拟方法。

日志记录 ​

用于生成和处理日志文件的库。

  • logrus - Go 的结构化日志记录器。
  • zap - Go 中快速、结构化、分级的日志记录。
  • zerolog - 零分配 JSON 日志器。
  • spew - 为 Go 数据结构实现深度美化打印器,以辅助调试。
  • lumberjack - 简单的滚动日志记录器,实现 io.WriteCloser。
  • glog - Go 的分级执行日志。
  • tail - Go 包,致力于模拟 BSD tail 程序的功能。
  • pp - Go 语言的彩色美化打印器。
  • seelog - 日志记录功能,支持灵活的调度、过滤和格式化。
  • lazyjournal - 一个 TUI,用于读取和过滤来自 journalctl、文件系统、Docker 和 Podman 容器以及 Kubernetes pod 的日志。
  • log - Go 的结构化日志记录包。
  • tint - 一个写入着色日志的 slog.Handler。
  • sentry-go - Go 的 Sentry SDK,帮助监控和追踪错误,提供实时告警和性能监控。
  • log15 - Go 的简单而强大的日志记录。
  • phuslu/log - 高性能结构化日志记录。
  • slog-multi - slog.Handler 链(管道、扇出等)。
  • slog - 轻量、可配置、可扩展的 Go 日志器。
  • httpretty - 在终端上美化打印常规 HTTP 请求以进行调试(类似于 http.DumpRequest)。
  • onelog - Onelog 是一个极其简单但高效的 JSON 日志器,在所有场景下都是最快的 JSON 日志器,同时也是分配内存最少的日志器之一。
  • sqldb-logger - Go SQL 数据库驱动日志器,无需修改现有的 *sql.DB 标准库用法。
  • logutils - 用于在 Go(Golang)中略微改进日志记录的工具,扩展了标准日志记录器。
  • logxi - 12 要素应用日志记录器,快速且令人愉悦。
  • log - Go 的简单、可配置且可扩展的结构化日志记录。
  • rollingwriter - RollingWriter 是一个自动轮转的 io.Writer 实现,提供多种策略以实现日志文件轮转。
  • go-logger - Go 程序的简单日志记录器,支持级别处理器。
  • slog-formatter - slog 的通用格式化器以及构建自定义格式化器的辅助工具。
  • glg - glg 是 Go 的简单快速分级日志库。
  • timberjack - 基于大小、时间和计划时钟轮转的滚动日志器,支持压缩和清理。
  • logger - Go 的极简日志记录库。
  • xlog - 面向 net/context 感知 HTTP 处理器的结构化日志器,支持灵活调度。
  • ozzo-log - 高性能日志记录,支持日志级别、分类和过滤。可将过滤后的日志消息发送到各种目标(如控制台、网络、邮件)。
  • slog-loki - 用于 Grafana Loki 的 slog 处理器。
  • slog-zerolog - 用于 Zerolog 的 slog 处理器。
  • caarlos0/log - 多彩的 CLI 日志记录器。
  • go-cronowriter - 简单的写入器,根据当前日期和时间自动轮转日志文件,类似 cronolog。
  • slog-zap - 用于 Zap 的 slog 处理器。
  • slog-sentry - 用于 Sentry 的 slog 处理器。
  • gone/log - 快速、可扩展、功能齐全、与标准库兼容的日志库。
  • stdlog - Stdlog 是一个提供分级日志的面向对象库。它对于定时任务非常有用。
  • journald - systemd Journal 原生 API 的 Go 实现,用于日志记录。
  • noodlog - 参数化 JSON 日志库,可混淆敏感数据并编组任何类型的内容。不再打印指针而非值,也不再为 JSON 字符串添加转义字符。
  • go-log - Go 中的 Log4j 实现。
  • logex - Golang 日志库,支持跟踪和级别,由标准日志库包装。
  • go-log - Log lib 支持级别和多处理器。
  • zax - 将 Context 与 Zap 日志器集成,使 Go 日志记录更加灵活。
  • mlog - Go 的简单日志模块,具有 5 个级别、可选轮转日志文件功能以及 stdout/stderr 输出。
  • slog-logrus - 用于 Logrus 的 slog 处理器。
  • distillog - 精炼的分级日志记录(可视为标准库 + 日志级别)。
  • logrusly - logrus 插件,用于将错误发送到 Loggly。
  • zkits-logger - 一个强大的零依赖 JSON 日志器。
  • log - Go 的结构化日志接口,将日志门面与其实现清晰分离。
  • slog-slack - 用于 Slack 的 slog 处理器。
  • kemba - 一个受 debug 启发的微型调试日志工具,非常适合 CLI 工具和应用程序。
  • log - 围绕标准 log 包的简单分级日志包装器。
  • xylog - 分级和结构化日志、动态字段、高性能、区域管理、简单配置和可读语法。
  • glo - 受 PHP Monolog 启发的日志记录工具,具有相同的严重性级别。
  • slog-datadog - 用于 Datadog 的 slog 处理器。
  • logrusiowriter - 使用 logrus 日志记录器实现的 io.Writer。
  • go-log - Go 中简单可配置的日志记录,支持级别、格式器和写入器。
  • logo - Golang 日志记录器,可写入不同的可配置写入器。
  • go-log - 一个带有堆栈跟踪、对象转储和可选时间戳的日志记录库。
  • zl - 高开发者体验,基于 Zap 的日志器。功能丰富但易于配置。
  • log - 一个 O(1) 日志系统,允许将一个日志连接到多个写入器(例如 stdout、文件和 TCP 连接)。
  • logdump - 用于多级日志记录的包。
  • GoLogX - 仅追加、哈希链、可选 Ed25519 签名的 slog 处理器,支持离线篡改验证。
  • xlog - Go 的插件架构和灵活日志系统,支持级别控制、多日志目标和自定义日志格式。
  • slf4g - Golang 的简单日志门面:简单的结构化日志;但功能强大、可扩展且可定制,汲取了数十年日志框架的大量经验。
  • structy/log - 一个简单易用的日志系统,极简但具备调试和消息区分的功能。
  • log - 一个开箱即用的简单日志框架。
  • gslog - 用于 log/slog 的 Google Cloud Logging 处理器,支持 OpenTelemetry 追踪和 baggage,以及 Kubernetes podinfo 标签。
  • go-log4g - Log4g 为 Go 的标准 log/slog 日志门面提供 Log4j 风格的配置和模式布局。
  • yell - 又一个极简日志库。
  • slog-configurator - 通过环境变量配置标准库 log/slog 日志器:级别、格式、源码位置以及 stdout/stderr 分流。
  • slogor - 一个多彩的 slog 处理器。

文本处理 ​

用于解析和操作文本的库。

  • colly - 面向 Gophers 的快速优雅的爬虫框架。
  • GoQuery - GoQuery 为 Go 语言带来了类似 jQuery 的语法和一系列功能。
  • sh - Shell 解析器和格式化器。
  • blackfriday - Go 中的 Markdown 处理器。
  • lancet - 一个全面的、类似 Lodash 的 Go 实用工具库
  • goldmark - 用 Go 编写的 Markdown 解析器。易于扩展、符合标准(CommonMark)、结构良好。
  • toml - TOML 配置格式(带反射的编码器/解码器)。
  • go-humanize - 将时间、数字和内存大小格式化为人类可读格式的格式化器。
  • html-to-markdown - 将 HTML 转换为 Markdown。甚至适用于整个网站,并可通过规则进行扩展。
  • bluemonday - HTML 净化器。
  • gofeed - 在 Go 中解析 RSS 和 Atom 订阅源。
  • sq - 将 SQL 数据库或 CSV、Excel 等文档格式的数据转换为 JSON、Excel、CSV、HTML、Markdown、XML 和 YAML 等格式。
  • go-querystring - 用于将结构体编码为 URL 查询参数的 Go 库。
  • go-toml - 支持查询和便捷 CLI 工具的 TOML 格式 Go 库。
  • godump (goforj) - 以 Laravel/Symfony 风格的转储美化打印 Go 结构体,包含完整类型信息、彩色 CLI 输出、循环检测和私有字段访问。
  • when - 支持可插拔规则的自然英文和俄文日期/时间解析器。
  • xurls - 从文本中提取 URL。
  • w2vgrep - 一种语义 grep 工具,使用词嵌入查找语义相似的匹配项。例如,搜索 "death" 会找到 "dead"、"killing"、"murder"。
  • commonregex - Go 常用正则表达式集合。
  • htmlquery - 用于 HTML 的 XPath 查询包,可通过 XPath 表达式从 HTML 文档中提取数据或求值。
  • go-runewidth - 获取字符或字符串固定宽度的函数。
  • dataflowkit - 将网站转换为结构化数据的网页爬虫框架。
  • mxj - 将 XML 编码/解码为 JSON 或 map[string]interface{};使用点路径和通配符提取值。替代 x2j 和 j2x 包。
  • bytes - 格式化并解析数字字节值(10K、2M、3G 等)。
  • gographviz - 解析 Graphviz DOT 语言。
  • gotabulate - 使用 Go 轻松美化打印表格数据。
  • goq - 使用 jQuery 语法的结构标签声明式解组 HTML(使用 GoQuery)。
  • go-nmea - Go 语言的 NMEA 解析库。
  • coregex - 采用 Rust regex-crate 架构的生产级正则引擎:多引擎 DFA/NFA、SIMD 预过滤、可直接替代标准库。
  • godump - 轻松美化打印任意 Go 变量,是 Go 的 fmt.Printf("%#v") 的替代方案。
  • rex - 正则表达式构建器。
  • radix - 快速字符串排序算法。
  • editorconfig-core-go - Go 的 Editorconfig 文件解析器和操作器。
  • regroup - 使用结构体标签和自动解析将正则表达式命名分组匹配到 Go 结构体。
  • markdown - 通过方法链生成 GitHub 风格 Markdown 和 mermaid 图的 Markdown 构建器。
  • tokenizer - 将任意字符串、切片或无限缓冲区解析为任意标记。
  • podcast - 用 Golang 编写的符合 iTunes 和 RSS 2.0 规范的播客生成器。
  • go-vcard - 解析和格式化 vCard。
  • bafi - 使用模板将通用 JSON、BSON、YAML、XML 转换为任意格式。
  • pagser - Pagser 是一个简单、可扩展、可配置的解析器,基于 goquery 和结构体标签,用于将 HTML 页面反序列化为结构体,适用于 golang 爬虫。
  • doc-scraper - 将文档网站转换为干净的 Markdown 和 JSONL 以供 LLM 摄取(RAG、训练数据)的网络爬虫。
  • go-wildcard - 简单轻量的通配符模式匹配。
  • did - Go 中的 DID(去中心化标识符)解析器和字符串器。
  • goregen - 用于从正则表达式生成随机字符串的库。
  • go-fixedwidth - 固定宽度文本格式化(带反射的编码器/解码器)。
  • picoloom - 带有 CLI 和 Go 库 API 的 Markdown 转 PDF 转换器。
  • address - 处理地址表示、验证和格式化。
  • align - 一个用于文本对齐的通用应用程序。
  • genex - 将正则表达式计数并展开为所有匹配的字符串。
  • gofuckyourself - 基于清洗的 Go 脏话过滤器。
  • vdf - 用 Go 编写的 Valve 数据格式(vdf)的词法分析器和解析器。
  • allot - 用于 CLI 工具和机器人的占位符和通配符文本解析。
  • normalize - 清洗、规范化和比较模糊文本。
  • petrovich - Petrovich 是一个将俄语姓名变格为指定语法格的库。
  • gonameparts - 将人名解析为各个组成部分。
  • go-fasttld - 高性能有效顶级域名(eTLD)提取模块。
  • Tagify - 从给定源生成一组标签。
  • xj2go - 将 XML 或 JSON 转换为 Go 结构体。
  • go-recipe - 用于从网站抓取食谱的包。
  • ahocorasick - 高性能 Aho-Corasick 多模式字符串匹配,支持 DFA 编译和 SIMD 预过滤,吞吐量高达 7 GB/s(属于 coregx 生态系统)。
  • codetree - 解析缩进代码(python、pixy、scarlet 等)并返回树结构。
  • kace - 涵盖常见首字母缩略词的常见大小写转换。
  • mdsmith - 快速、自动修复的 Markdown 检查器和格式化器。检查风格、可读性、结构和跨文件完整性。
  • TySug - 针对键盘布局的替代建议。
  • go-output-format - 在命令行应用中输出 Go 结构为多种格式(YAML/JSON 等)。
  • walker - 无缝地从任何来源获取分页数据。包含简单高性能的 API 抓取。
  • bbConvert - 将 bbCode 转换为 HTML,允许您添加自定义 bbCode 标签的支持。
  • doi - Go 中的文档对象标识符(doi)解析器。
  • parseargs-go - 支持引号和反斜杠的字符串参数解析器。
  • prattle - 简单高效地扫描和解析 LL(1) 文法。
  • ltsv - 高性能的 Go LTSV(制表符分隔标签值) 读取器。
  • go-sitemap-parser - 用于解析 Sitemap 的 Go 语言库。
  • uniwidth - 高性能 Unicode 字符宽度计算,采用 SWAR 优化、O(1) 查找表,并支持 ZWJ 表情符号。
  • textwrap - 在行尾换行文本。实现 Python 的 textwrap 模块。
  • htmlyaml - 在 Go 中将 YAML 丰富渲染为 HTML。
  • htree - 遍历、导航、过滤和处理 html.Node 对象树。

构建自动化 ​

帮助实现构建自动化的库和工具。

  • air - Air - Go 应用的热重载工具。
  • Task - 简单的“Make”替代品。
  • mage - Mage 是一个使用 Go 的类似 make/rake 的构建工具。
  • realize - Go 构建系统,带有文件监视器和热重载。运行、构建并监视自定义路径的文件变化。
  • mmake - 现代 Make。
  • xc - 任务运行器,支持通过 README.md 定义任务,可执行的 Markdown。
  • goyek - 在 Go 中创建构建流水线。
  • taskctl - 并发任务运行器。
  • 1build - 命令行工具,用于无摩擦地管理项目特定命令。
  • gaper - 当 Go 项目崩溃或某些被监视的文件发生变化时,构建并重启它。
  • anko - 适用于多种编程语言的简单应用监视器。
  • rex - 零配置的通用项目运行器。检测你的技术栈(Go、Node、Python、Rust、PHP、Zig、Elixir)并运行正确的命令。
  • gilbert - Go 项目的构建系统和任务运行器。
  • gob - 类似 Gradle/Maven 的 Go 项目构建工具。

安全 ​

用于帮助使应用程序更加安全的库。

  • age - 简单、现代且安全的加密工具(及 Go 库),具有小型显式密钥、无配置选项,并支持 UNIX 风格组合。
  • osv-scanner - 使用 Go 编写的漏洞扫描器,利用 OSV 提供的数据。
  • lego - 纯 Go ACME 客户端库和 CLI 工具(用于 Let's Encrypt)。
  • CertMagic - 成熟、健壮且强大的 ACME 客户端集成,用于完全托管的 TLS 证书签发和续期。
  • Cameradar - 用于远程入侵监控摄像头 RTSP 流的工具和库。
  • Coraza - 企业级、兼容 modsecurity 和 OWASP CRS 的 WAF 库。
  • memguard - 纯 Go 库,用于处理内存中的敏感值。
  • secure - Go 的 HTTP 中间件,可快速实现一些安全改进。
  • beelzebub - 安全低代码蜜罐框架,利用 AI 进行系统虚拟化。
  • acmetool - 支持自动续期的 ACME(Let's Encrypt)客户端工具。
  • themis - 高级加密库,用于解决典型的数据安全任务(安全数据存储、安全消息传递、零知识证明认证),支持 14 种语言,最适合多平台应用。
  • acra - 网络加密代理,保护基于数据库的应用程序免受数据泄露:强选择性加密、SQL 注入防护、入侵检测系统。
  • SafeDep/vet - 防范恶意开源软件包。
  • dongle - 简单、语义化且对开发者友好的 golang 包,用于编码/解码和加密/解密。
  • caddy-waf - Caddy 服务器的 Web 应用防火墙中间件,具有正则规则引擎、异常评分、IP/DNS/ASN/国家黑名单和速率限制。
  • booster - 支持全盘加密的快速 initramfs 生成器。
  • go-password-validator - 基于原始密码学熵值的密码验证器。
  • nacl - NaCL API 集合的 Go 实现。
  • ssh-vault - 使用 SSH 密钥进行加密/解密。
  • teler-waf - teler-waf 是一个 Go HTTP 中间件,提供 teler IDS 功能以防御基于 Web 的攻击并提高基于 Go 的 Web 应用程序的安全性。它高度可配置,易于集成到现有 Go 应用程序中。
  • go-yara - Go 绑定 YARA,即“恶意软件研究人员(及其他所有人)的模式匹配瑞士军刀”。
  • optimus-go - 使用 Knuth 算法进行 ID 哈希和混淆。
  • firewalld-rest - 用于动态更新 Linux 服务器上 firewalld 规则的 REST 应用程序。
  • BadActor - 内存中、应用驱动的 jailer,秉承 fail2ban 的精神。
  • go-peer - 用于创建安全且匿名的去中心化系统的软件库。
  • passlib - 面向未来的密码哈希库。
  • FCaptcha - 自托管 CAPTCHA 服务器和 Go 客户端,通过行为分析和工作量证明检测机器人、AI 代理和无头浏览器。
  • simple-scrypt - Scrypt 包,具有简单明了的 API 和内置的自动成本校准。
  • urusai - Urusai(日语中意为“嘈杂”)是一个 Go 实现的随机 HTTP/DNS 流量噪声生成器,通过创建数字烟幕来帮助保护浏览时的隐私。
  • pii-shield - Kubernetes 的零代码日志净化边车,可从日志中删除个人身份信息。
  • luks.go - 纯 Golang 库,用于管理 LUKS 分区。
  • fort - 审计 macOS 安全设置,涵盖 16 项检查,报告分数,并在安全的情况下修复问题。单一二进制文件,可通过 Homebrew 安装。
  • passwap - 在不同密码哈希算法之间提供统一实现。
  • acme-proxy - 无需向互联网开放 80 端口即可解决 ACME http-01 挑战,从外部证书颁发机构获取证书。
  • goSecretBoxPassword - 一个可能偏执的包,用于安全地哈希和加密密码。
  • go-generate-password - 可用于 CLI 或作为库的密码生成器。
  • go-htpasswd - 用于 Go 的 Apache htpasswd 解析器。
  • deidentify - 确定性的、保留格式的文本和结构化数据中个人身份信息移除。
  • certificates - 用于生成 TLS 证书的固执己见的工具。
  • y509 - 用于 X.509 证书链的 TUI,报告链是否验证通过,以及服务器是否正确提供该链。
  • procscope - 使用 eBPF 的进程级运行时调查器,用于跟踪进程生命周期、文件活动和网络连接。
  • secret - 防止你的机密泄露到日志、std* 等中。
  • secureio - 基于 XChaCha20-poly1305、ECDH 和 ED25519 的 io.ReadWriteCloser 密钥交换+认证+加密包装器和多路复用器。
  • sslmgr - 通过 acme/autocert 的高级包装器轻松实现 SSL 证书。
  • Crenox - 零依赖的预提交密钥扫描器,使用 Aho-Corasick 实现高性能凭据泄漏检测。
  • nurago/pkg/redact - 单次遍历从日志行和 HTTP 转储中移除机密,涵盖标头、JSON、XML、URL 编码数据、JWT、PEM 密钥和供应商令牌。
  • argon2-hashing - Go argon2 包的轻量封装,与 Go 标准库 Bcrypt 和 simple-scrypt 包高度相似。
  • goArgonPass - Argon2 密码哈希与验证,设计为与现有 Python 和 PHP 实现兼容。
  • Razify - 用于扫描、验证和审计 .env 文件以发现泄露机密和环境漂移的 CLI。
  • qrand - ANU 量子数(AQN)API 的客户端,提供量子力学安全的随机数据。
  • leakhound - 静态分析工具,用于检测敏感结构体字段的意外日志记录,防止日志中的数据泄露。
  • multikey - 基于 Shamir 秘密共享算法的 n-out-of-N 密钥加密/解密框架。
  • aes-ctr-drbg - 基于 AES 计数器模式(AES-CTR-DRBG)的确定性随机位生成器,符合 NIST SP 800-90A 规范。
  • secretgenerator - 基于 CSPRNG 的凭据生成器,具有版本化 JSON 模式,用于密码、口令、机密、API 密钥和 PIN。
  • veil - 本地 HTTPS 代理,向 AI 编码代理隐藏 API 凭据。集成操作系统钥匙串、格式感知占位符、SQLite 审计日志。
  • canery - 极简、无状态的授权引擎,具有可插拔的评估模型。
  • encid - 编码和解码加密的整数 ID。
  • entpassgen - 熵密码生成器,具有大量命令行参数,可安全生成随机字符串,包括数字、密码,以及由生僻字典单词与符号和数字混合构成的密码。
  • Interpol - 用于模糊测试和渗透测试的基于规则的数据生成器。
  • dotlock - 加密的 .env 保险库管理器,具有交互式 TUI,用于跨多个环境和配置文件管理密钥。
  • PwnedCheck - 命令行工具,用于检查密码是否在 Have I Been Pwned 泄露事件中出现,支持 Bitwarden 导出。
  • gost-crypto - Go 库,支持俄罗斯 GOST 密码标准(数字签名、Streebog 哈希、Kuznechik 密码、MGM AEAD),基于 OpenSSL gost-engine。
  • mcprobe - MCP 服务器安全扫描器,支持提示注入检测、工具影子攻击和 SARIF 输出。
  • pm - 用 Go 编写的 Unix 风格密码管理器,使用 OpenPGP 加密保存数据。
  • redact - 使用可配置管道从基于 slog 的日志中编辑敏感信息。
  • certifier - 用于生成和验证 X.509 证书、证书颁发机构、CRL 和 OCSP 响应的库和 CLI。
  • grim - 快速且安全的 CLI 工具,用于在易失性内存中管理加密的 Markdown 笔记库。
  • gspy - 用于实时 Go 进程的取证级 goroutine 到系统调用检查器。
  • mist - 非对称密钥音频隐写库,使用 X25519 和 ChaCha20-Poly1305 将加密消息隐藏在压缩音频中。
  • coraza-rule-validator - 独立 CLI 工具,用于在生产部署前验证 ModSecurity 和 Coraza SecLang WAF 规则。
  • acopw-go - Go 的小型加密安全密码生成器包。
  • autocert - 自动配置 Let's Encrypt 证书并启动 TLS 服务器。

网络 ​

用于处理网络各层的库。

  • fasthttp - 包 fasthttp 是 Go 的快速 HTTP 实现,比 net/http 快 10 倍。
  • webrtc - 纯 Go 实现的 WebRTC API。
  • cloudflared - Cloudflare Tunnel 客户端(原 Argo Tunnel)。
  • resty - 受 Ruby rest-client 启发的简单 HTTP 和 REST 客户端。
  • quic-go - 纯 Go 实现的 QUIC 协议。
  • gnet - gnet 是一个用纯 Go 编写的高性能、轻量级、非阻塞、事件驱动的网络框架。
  • dns - 用于处理 DNS 的 Go 库。
  • gopacket - 用于数据包处理的 Go 库,绑定 libpcap。
  • GoProxy - 一个使用 Go 创建自定义 HTTP/HTTPS 代理服务器的库。
  • tun2socks - 基于 gVisor TCP/IP 栈的纯 Go 实现 tun2socks。
  • req - 简单的 Go HTTP 客户端,具有黑魔法(更少的代码和更高的效率)。
  • netpoll - 一个高性能非阻塞 I/O 网络框架,专注于 RPC 场景,由字节跳动开发。
  • kcp-go - KCP - 快速可靠的 ARQ 协议。
  • ssh - 用于构建 SSH 服务器的高级 API(封装 crypto/ssh)。
  • HTTPLab - HTTPLabs 允许你检查 HTTP 请求并伪造响应。
  • gobgp - 使用 Go 语言实现的 BGP。
  • fortio - 负载测试库和命令行工具,高级回显服务器和 Web UI。允许指定每秒查询负载,记录延迟直方图和其他有用统计信息并绘制图表。支持 TCP、HTTP、gRPC。
  • heimdall - 一个带有重试和 hystrix 能力的增强型 HTTP 客户端。
  • nbio - 纯 Go 实现 1000k+ 连接解决方案,支持 tls/http1.x/websocket,基本兼容 net/http,高性能、低内存占用,非阻塞、事件驱动、易于使用。
  • go-retryablehttp - Go 中的可重试 HTTP 客户端。
  • grequests - 著名 Requests 库的 Go "克隆"。
  • water - 简单的 TUN/TAP 库。
  • tls-client - 类似 net/http.Client 的 HTTP 客户端,可选择用于请求的特定客户端 TLS 指纹。
  • surf - 高级 HTTP 客户端,支持 HTTP/1.1、HTTP/2、HTTP/3(QUIC)、SOCKS5 代理和浏览器级 TLS 指纹。
  • go-getter - Go 库,用于从各种来源通过 URL 下载文件或目录。
  • gws - 高性能 WebSocket 服务器与客户端,支持 AsyncIO。
  • gev - gev 是一个基于 Reactor 模式的轻量级、快速的非阻塞 TCP 网络库。
  • sling - Sling 是一个用于创建和发送 API 请求的 Go HTTP 客户端库。
  • requests - 面向 Gophers 的 HTTP 请求。使用 context.Context,不隐藏底层的 net/http.Client,与标准 Go API 兼容。还包含测试工具。
  • sftp - sftp 包实现了 SSH 文件传输协议,详见 https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt。
  • grab - 用于管理文件下载的 Go 包。
  • NFF-Go - 用于快速开发云和裸机高性能网络功能的框架(前身为 YANFF)。
  • ftp - 包 ftp 实现了 RFC 959 中描述的 FTP 客户端。
  • mdns - Golang 中的简单 mDNS(多播 DNS)客户端/服务器库。
  • gentleman - 功能齐全、插件驱动的 HTTP 客户端库。
  • sdns - 一个高性能、递归 DNS 解析服务器,支持 DNSSEC,注重隐私保护。
  • gmqtt - Gmqtt 是一个灵活、高性能的 MQTT 代理库,完全实现了 MQTT 协议 V3.1.1。
  • vssh - 用于通过 SSH 协议构建网络和服务器自动化的 Go 库。
  • cidranger - 用于 Go 的快速 IP 到 CIDR 查找。
  • gaio - Golang 的高性能异步 I/O 网络,采用 proactor 模式。
  • easytcp - 用 Go(Golang)编写的轻量级 TCP 框架,内置消息路由器。EasyTCP 帮助你轻松、快速且更少痛苦地构建 TCP 服务器。
  • go-stun - Go 实现的 STUN 客户端(RFC 3489 和 RFC 5389)。
  • lhttp - 强大的 websocket 框架,更轻松地构建你的 IM 服务器。
  • peerdiscovery - 纯 Go 库,使用 UDP 多播进行跨平台本地对等发现。
  • pester - Go HTTP 客户端调用,支持重试、退避和并发。
  • gotcp - 用于快速编写 TCP 应用的 Go 包。
  • stun - RFC 5389 STUN 协议的 Go 实现。
  • gopcap - libpcap 的 Go 封装。
  • ftpserverlib - 功能齐全的 FTP 服务器库。
  • winrm - Go WinRM 客户端,用于在 Windows 机器上远程执行命令。
  • azuretls-client - 一个 100% 使用 Go 编写的易用 HTTP 客户端,用于伪造 TLS/JA3 和 HTTP2 指纹。
  • go-cleanhttp - 轻松获取标准库 HTTP 客户端,不与其他客户端共享任何状态。
  • arp - 包 arp 实现了 RFC 826 中描述的 ARP 协议。
  • dnsmonster - 被动 DNS 捕获/监控框架。
  • request - Golang 的 HTTP 客户端。如果你有 axios 或 requests 的经验,你会喜欢它。无第三方依赖。
  • nodepass - 一个安全高效的 TCP/UDP 隧道解决方案,通过预先建立的 TCP/QUIC/WebSocket 或 HTTP/2 连接,在网络限制下提供快速可靠的访问。
  • ethernet - 包 ethernet 实现了 IEEE 802.3 以太网 II 帧和 IEEE 802.1Q VLAN 标签的编组和解组。
  • gNxI - 使用 gNMI 和 gNOI 协议的网络管理工具集。
  • hedge - Go 的自适应对冲请求。基于 Google 的 "The Tail at Scale" 论文,零配置即可降低 p99 延迟。
  • buffstreams - 通过 TCP 流式传输 protocolbuffer 数据变得简单。
  • psql-wire - PostgreSQL 服务器线协议。构建你自己的服务器并开始处理连接。
  • jazigo - Jazigo 是一个用 Go 编写的工具,用于检索多个网络设备的配置。
  • utp - Go uTP 微传输协议实现。
  • bart - 包 bart 提供了一个平衡路由表(BART),用于极速的 IP 到 CIDR 查找等。
  • tcpack - tcpack 是一个基于 TCP 的应用协议,用于在 Go 程序中打包和解包字节流。
  • xtcp - TCP 服务器框架,支持全双工通信、优雅关闭和自定义协议。
  • canopus - CoAP 客户端/服务器实现(RFC 7252)。
  • sslb - 这是一个超级简单的负载均衡器,只是一个小项目,用于实现某种性能。
  • iplib - 用于处理 IP 地址(net.IP、net.IPNet)的库,灵感来自 Python 的 ipaddress 和 Ruby 的 ipaddr。
  • fast-shot - 使用 Go 最快且简单的 HTTP 客户端,以快速精准的方式命中你的 API 目标。
  • gldap - gldap 提供了 LDAP 服务器实现,您为其 LDAP 操作提供处理程序。
  • event - 用 Golang 编写的简单 I/O 事件通知库。
  • natiu-mqtt - 一个极其简单、无分配、低级别的 MQTT 实现,非常适合嵌入式系统。
  • go-powerdns - Golang 的 PowerDNS API 绑定。
  • go-zoox/fetch - 一个强大、轻量、易用的 HTTP 客户端,灵感来自 Web Fetch API。
  • go-otelroundtripper - Go http.RoundTripper,为 HTTP 请求发出开放遥测指标。
  • go-http-client - 简单轻松地发起 HTTP 调用。
  • ether - 跨平台 Go 包,用于发送和接收以太网帧。
  • dhcp6 - 包 dhcp6 实现了 RFC 3315 中描述的 DHCPv6 服务器。
  • fullproxy - 功能齐全、可脚本化且可守护进程配置的代理和跳板工具包,支持 SOCKS5、HTTP、原始端口和反向代理协议。
  • fwdctl - 简单直观的 CLI,用于管理 Linux 服务器中的 IPTables 转发。
  • portproxy - 简单的 TCP 代理,为不支持 CORS 的 API 添加 CORS 支持。
  • httpretry - 为默认 Go HTTP 客户端增加重试功能。
  • linkio - 用于 Reader/Writer 接口的网络链路速度模拟。
  • rq - Go 标准库 HTTP 客户端的更友好接口。
  • axios4go - 受 Axios 启发的 Go HTTP 客户端库,提供简单直观的 API 用于发起 HTTP 请求。
  • httpproxy - HTTP 代理处理器和拨号器。
  • go-multiproxy - 通过代理池发出 HTTP 请求的库,提供容错、负载均衡、自动重试、Cookie 管理等,可通过 http.Get/Post 替换或 http.Client RoundTripper 直接使用。
  • publicip - publicip 包返回你的公网 IPv4 地址(互联网出口)。
  • graval - 实验性 FTP 服务器框架。
  • go-ipmux - 基于多个源 IP 复用 HTTP 请求的库。
  • gnet - gnet 是一个高性能网络框架,特别适用于游戏服务器。
  • go-req - 声明式 Go HTTP 客户端。
  • expose - 轻量级、开源的安全隧道工具,用于将本地服务器暴露到互联网。
  • goshark - goshark 包使用 tshark 解码 IP 数据包并创建数据结构以分析数据包。
  • llb - 这是一个非常简单但快速的代理服务器后端。可用于快速重定向到预定义域名,零内存分配且响应迅速。
  • go-sse - HTML 服务器发送事件的 Go 客户端和服务器实现。
  • nethawk - 用于实时网络流量捕获、分析和攻击检测的终端 UI,支持 JSON 输出模式。
  • tspool - 一个使用工作池来提高性能并保护服务器的 TCP 库。
  • go-pcaplite - 轻量级实时数据包捕获库,支持 HTTPS SNI 提取。
  • netchan - Golang 的网络通道(netchan):安全、支持集群、支持嵌套通道和任意数据类型。灵感来自 Rob Pike。
  • Grequest - 简单轻量的 golang HTTP 请求包,基于强大的 net/http。
  • macwifi - 适用于 macOS 13+ 的 Wi-Fi 扫描和钥匙串密码检索。
  • roamr - CLI 工具,对附近已保存的 WiFi 网络进行评分,并告诉你使用哪个以及原因。
  • cdns - 通过终端轻松更改 DNS 服务器。
  • chicha-ip-proxy - 零配置 TCP/UDP 端口代理,支持自动启动、基于 IP 的访问控制以及操作系统级网络栈调优。
  • impersonate-http - 可直接替换的 net/http.Client,具有字节级精确的浏览器 TLS(JA3/JA4)和 HTTP/2(Akamai)指纹。
  • telepath - telepath 是一个强大的 CLI 工具,用于安全端口转发,支持多个跳板主机和灵活的身份验证。
  • fibersse - 面向 Fiber v3 的生产级服务器发送事件(SSE),支持事件合并、优先级通道、主题通配符、自适应节流和内置认证。
  • corsproxy - CORS 代理服务器,具有 SSRF 保护、主机允许/阻止列表以及可选的 API 密钥认证。
  • gosnmp - 用于执行 SNMP 操作的纯 Go 库。
  • proxq - 异步反向代理,将每个请求排队到 Redis 并返回作业 ID 以轮询响应,支持路径前缀路由、重试和缓存。
  • drainwatch - 测量 Kubernetes Pod 终止时已建立的 TCP 和 UDP 连接实际发生的情况。
  • ws-reconnect - 弹性 WebSocket 客户端,支持自动重连、指数退避和心跳管理。
  • mqttPaho - Paho Go 客户端提供了一个 MQTT 客户端库,可通过 TCP、TLS 或 WebSockets 连接到 MQTT 代理。
  • net - 此仓库包含补充的 Go 网络库。

性能 ​

  • jaeger - 分布式追踪系统。
  • ebpf-go - 提供加载、编译和调试 eBPF 程序的实用工具。
  • pixie - 通过 eBPF 对 Go 应用进行无插桩追踪。
  • statsviz - Go 应用运行时统计信息的实时可视化。
  • profile - Go 的简单性能分析支持包。
  • go-instrument - 自动为所有方法和函数添加 span。
  • mm-go - Go 的通用手动内存管理。
  • tracer - 简单、轻量级的追踪。
  • otelinji - 用于为函数添加 span 的 OpenTelemetry 自动插桩工具。
  • go-perfstat - 面向 Go 的轻量级性能统计与执行时间聚合。

数据库驱动 ​

  • redis - Golang 的 Redis 客户端。
  • go-sql-driver/mysql - 用于 Go 的 MySQL 驱动。
  • cayley - 支持多种后端的图数据库。
  • pgx - PostgreSQL 驱动,支持 database/sql 之外的功能。
  • pq - 用于 database/sql 的纯 Go Postgres 驱动。
  • redigo - Redigo 是 Redis 数据库的 Go 客户端。
  • go-sqlite3 - 用于 Go 的 SQLite3 驱动,基于 database/sql。
  • mongo-go-driver - Go 语言的官方 MongoDB 驱动。
  • elastic - 用于 Go 的 Elasticsearch 客户端。
  • go-elasticsearch - 用于 Go 的官方 Elasticsearch 客户端。
  • clickhouse-go - 用于 Go 的 ClickHouse SQL 客户端,兼容 database/sql。
  • rueidis - 支持自动管道和服务器辅助客户端缓存的快速 Redis RESP3 客户端。
  • mgo - (已停止维护)Go 语言的 MongoDB 驱动,在遵循标准 Go 习惯用法的非常简单的 API 下实现了丰富且经过充分测试的功能。
  • zoekt - 基于三元组的高速代码搜索。
  • gomemcache - Go 编程语言的 memcache 客户端库。
  • go-mssqldb - 用于 Go 的 Microsoft MSSQL 驱动。
  • gorethink - RethinkDB 的 Go 语言驱动。
  • qmgo - Go 的 MongoDB 驱动。它基于官方 MongoDB 驱动,但更易于使用,类似 Mgo。
  • elasticsql - 在 Go 中将 SQL 转换为 Elasticsearch DSL。
  • go-sqlite3 - 此 Go 模块与 database/sql 驱动兼容。它允许将 SQLite 嵌入到应用程序中,提供对其 C API 的直接访问,支持 SQLite VFS,并且还包含一个 GORM 驱动。
  • elastigo - Elasticsearch 客户端库。
  • gokv - 用于 Go 的简单键值存储抽象和实现(Redis、Consul、etcd、bbolt、BadgerDB、LevelDB、Memcached、DynamoDB、S3、PostgreSQL、MongoDB、CockroachDB 等)。
  • skizze - 一个概率数据结构服务和存储。
  • mgm - 基于模型的 MongoDB ODM for Go(基于官方 MongoDB 驱动)。
  • sqlhooks - 为任何 database/sql 驱动附加钩子。
  • go-oci8 - 用于 Go 的 Oracle 驱动,使用 database/sql。
  • godror - 用于 Go 的 Oracle 驱动,使用 ODPI-C 驱动。
  • Sqinn-Go - 纯 Go 实现的 SQLite。
  • aerospike-client-go - Go 语言编写的 Aerospike 客户端。
  • redeo - 兼容 Redis 协议的 TCP 服务器/服务。
  • go-transaction-manager - 具有多种适配器(sql、sqlx、gorm、mongo 等)的事务管理器,控制事务边界。
  • go-mssqldb - Microsoft 官方 Go 驱动,用于 SQL Server、Azure SQL、Azure Synapse、Fabric 中的 SQL 数据库和 Fabric 数据仓库。支持 Azure AD、Always Encrypted、批量操作。
  • neoism - Neo4j 的 Golang 客户端。
  • gocb - 官方 Couchbase Go SDK。
  • KSQL - 一个简单而强大的 Golang SQL 库。
  • Kivik - Kivik 为 CouchDB、PouchDB 及类似数据库提供通用的 Go 和 GopherJS 客户端库。
  • go-rejson - 使用 Redigo golang 客户端的 redislabs ReJSON 模块的 Golang 客户端。轻松将结构体作为 JSON 对象存储和操作于 redis 中。
  • go-couchbase - Go 语言编写的 Couchbase 客户端。
  • surrealdb.go - SurrealDB 的 Go 驱动。
  • firebirdsql - 用于 Go 的 Firebird RDBMS SQL 驱动。
  • go-mongox - 基于官方驱动的 Go Mongo 库,具有简化的文档操作、结构体与集合的泛型绑定、内置 CRUD、聚合、自动字段更新、结构体验证、钩子和基于插件的编程。
  • go-rqlite - rqlite 的 Go 客户端,提供易于使用的抽象以处理 rqlite API。
  • ydb-go-sdk - YDB(Yandex Database)的原生和 database/sql 驱动。
  • go-adodb - 用于 Go 的 Microsoft ActiveX 对象数据库驱动,使用 database/sql。
  • avatica - 用于 database/sql 的 Apache Avatica/Phoenix SQL 驱动。
  • gofreetds - Microsoft MSSQL 驱动。Go 对 FreeTDS 的封装。
  • godis - 受 jedis 启发的 golang 实现的 redis 客户端。
  • arangolite - 用于 ArangoDB 的轻量级 Golang 驱动。
  • go-pilosa - Pilosa 的 Go 客户端库。
  • dsc - SQL、NoSQL、结构化文件的数据存储连接。
  • forestdb - ForestDB 的 Go 绑定。
  • effdsl - 用于 Go 的 Elasticsearch 查询构建器。
  • goriak - Riak KV 的 Go 语言驱动。
  • goes - 用于与 Elasticsearch 交互的库。
  • neo4j - Neo4j Rest API 的 Golang 绑定。
  • dynamo - 简单的键值抽象,用于在 AWS 存储服务(AWS DynamoDB 和 AWS S3)中存储代数和关联数据数据类型。
  • gomemcached - 用于 Go 的二进制 Memcached 客户端,支持使用一致性哈希进行分片,并支持 SASL。
  • gocosmos - 用于 Azure Cosmos DB 的 REST 客户端和标准 database/sql 驱动。
  • bgc - 用于 Go 的 BigQuery 数据存储连接。
  • xredis - 类型安全、可定制、简洁易用的 Redis 客户端。
  • pig - 简单的 pgx 封装,可轻松执行查询并 扫描 结果。
  • asc - 用于 Go 的 Aerospike 数据存储连接。
  • godscache - Google Cloud Platform Go Datastore 包的封装,使用 memcached 添加缓存。
  • transactor - 类型安全的事务边界抽象,支持 database/sql、sqlx 和 pgx 适配器。
  • sqlite - sqlite 包是一个使用 C SQLite3 库的无 CGo 移植版的 sql/database 驱动。
  • gocql - Apache Cassandra 的 Go 语言驱动。

Microsoft Office ​

  • excelize - 用于读写 Microsoft Excel™ (XLSX) 文件的 Golang 库。
  • xlsx - 简化在 Go 程序中读取新版 Microsoft Excel 使用的 XML 格式的库。
  • unioffice - 用于创建和处理 Office Word (.docx)、Excel (.xlsx) 和 Powerpoint (.pptx) 文档的纯 Go 库。
  • godocx - 用于读写 Microsoft Word (Docx) 文件的库。
  • go-excel - 一个简单轻量的读取器,将类似关系数据库的 Excel 作为表格读取。
  • xlsx - 在 Go 程序中快速安全地读取/更新现有 Microsoft Excel 文件。
  • exl - 用 Go 编写的 Excel 绑定到结构体。(仅支持 Go1.18+)
  • cellwalker - 按单元格名称虚拟遍历 Excel。

认证与授权 ​

用于实现认证和授权的库。

  • casbin - 支持 ACL、RBAC 和 ABAC 等访问控制模型的授权库。
  • jwt-go - JSON Web Tokens(JWT)的完整功能实现。该库支持 JWT 的解析和验证以及生成和签名。
  • spicedb - 受 Zanzibar 启发的数据库,支持细粒度授权。
  • goth - 提供一种简单、干净且惯用的方式来使用 OAuth 和 OAuth2。开箱即用地处理多个提供商。
  • openfga - 基于“Zanzibar:Google 的一致全局授权系统”论文实现的细粒度授权。由 CNCF 支持。
  • oauth2 - goauth2 的后继者。通用 OAuth 2.0 包,支持 JWT、Google API、Compute Engine 和 App Engine。
  • keto - “Zanzibar:Google 的一致全局授权系统”的开源(Go)实现。提供 gRPC、REST API、newSQL 以及简单且细粒度的权限语言。支持 ACL、RBAC 和其他访问模型。
  • authboss - 模块化 Web 身份验证系统。它尽可能移除样板代码和“困难部分”,以便每次在 Go 中启动新 Web 项目时,你可以直接插入、配置并开始构建应用,而无需每次都构建身份验证系统。
  • scs - HTTP 服务器的会话管理器。
  • jwx - 实现各种 JWx(JWA/JWE/JWK/JWS/JWT,也称为 JOSE)技术的 Go 模块。
  • gologin - 用于通过 OAuth1 和 OAuth2 认证提供商登录的可链式处理器。
  • osin - Golang OAuth2 服务器库。
  • loginsrv - JWT 登录微服务,支持可插拔后端,如 OAuth2(Github)、htpasswd、osiam。
  • oidc - 为 Go 编写的易于使用的 OpenID Connect 客户端和服务器库,已通过 OpenID 基金会认证。
  • gorbac - 在 Golang 中提供轻量级的基于角色的访问控制(RBAC)实现。
  • paseto - 平台无关安全令牌(PASETO)的 Golang 实现。
  • jwt - 用于 Go 的安全、简单且快速的 JSON Web Tokens。
  • go-guardian - Go-Guardian 是一个 golang 库,提供简单、干净、惯用的方式创建强大的现代 API 和 Web 认证,支持 LDAP、Basic、Bearer 令牌和基于证书的认证。
  • go-jose - JOSE 工作组 JSON Web Token、JSON Web Signatures 和 JSON Web Encryption 规范的相当完整实现。
  • jwt - 轻量级 JSON Web Token(JWT)库。
  • jeff - 简单、灵活、安全且惯用的 Web 会话管理,支持可插拔后端。
  • gosession - 这是 GoLang 中 net/http 的快速会话包。该包可能是会话机制的最佳实现,或者至少它试图成为这样。
  • jwt-auth - 用于 Golang HTTP 服务器的 JWT 中间件,具有许多配置选项。
  • goiabada - 一个支持 OAuth2 和 OpenID Connect 的开源认证与授权服务器。
  • otpgen - 生成 TOTP/HOTP 码的库。
  • sessionup - 简单而有效的 HTTP 会话管理和识别包。
  • sjwt - 简单的 JWT 生成器和解析器。
  • session - Go 的 Web 服务器会话管理(包括对 Google App Engine - GAE 的支持)。
  • branca - Golang 1.15+ 的 branca 令牌规范实现。
  • melange - 将 OpenFGA 授权模式编译为 PL/pgSQL 函数,在 PostgreSQL 内部执行细粒度的基于关系的访问控制检查。
  • securecookie - 高效的安全 cookie 编码/解码。
  • sessions - 用于 Go HTTP 服务器的极其简单、高性能、高度可定制的会话服务。
  • otpgo - 用于 Go 的基于时间的一次性密码(TOTP)和基于 HMAC 的一次性密码(HOTP)库。
  • go-iam - 开发者优先的身份与访问管理系统,具有简单的 UI。
  • scope - 在 Go 中轻松管理 OAuth2 作用域。
  • go-githubauth - GitHub 身份验证工具:生成和使用 GitHub 应用及安装令牌。
  • cookiestxt - 提供 cookies.txt 文件格式的解析器。
  • go-jwt - 提供访问令牌和刷新令牌的 JWT 认证包,支持指纹识别、Redis 存储和自动刷新功能。
  • permissions - 用于跟踪用户、登录状态和权限的库。使用安全 cookie 和 bcrypt。
  • x509proxy - 处理 X509 代理证书的库。
  • go-jwt - Go 的 JWT(JSON Web Token)库。
  • authgate - 轻量级 OAuth 2.0 授权服务器,支持设备授权授予(RFC 8628)、带 PKCE 的授权码流程(RFC 6749 + RFC 7636),以及用于机器对机器身份验证的客户端凭证授予。

验证 ​

用于验证的库。

  • validator - Go 结构体和字段验证,包括跨字段、跨结构体、映射、切片和数组的深度验证。
  • govalidator - 用于字符串、数字、切片和结构体的验证器和清理器。
  • ozzo-validation - 支持验证各种数据类型(结构体、字符串、映射、切片等),验证规则可在常规代码结构中配置和扩展,而非使用结构体标签。
  • govalidator - 使用简单规则验证 Golang 请求数据。深受 Laravel 请求验证的启发。
  • Zog - 一个受 Zod 启发的模式构建器,用于运行时值解析和验证。
  • validate - 用于数据验证和过滤的 Go 包。支持验证 Map、Struct、Request(Form、JSON、url.Values、上传文件)等数据及更多功能。
  • gody - balloon:一个轻量级的 Go 结构体验证器。
  • jio - jio 是一个类似于 joi 的 JSON Schema 验证器。
  • govalid - 基于标签的快速结构体验证。
  • checkdigit - 提供校验位算法(Luhn、Verhoeff、Damm)和计算器(ISBN、EAN、JAN、UPC 等)。
  • validate - 该包为编写 Go 应用程序的验证提供了框架。
  • govy - 基于函数式接口的强类型验证规则,由泛型驱动且无反射,重点在于构建清晰且信息丰富的错误消息。
  • checker - 零依赖的输入验证和就地规范化,支持结构体标签、23 种语言环境和 JSON Schema 生成。
  • go-validator - 使用泛型的验证库。
  • valix - 用于验证请求的 Go 包。
  • hvalid - hvalid 是一个用 Go 语言编写的轻量级验证库。它提供了自定义验证器接口和一系列常用验证函数,帮助开发者快速实现数据验证。
  • Validator - 一个用 Go 编写的轻量级模型验证器。包含 VF:Min、Max、MinLength、MaxLength、Length、Enum、Regex。
  • vx - 验证由小型、可组合的检查构建,零依赖且具有可重建的错误路径。

电子书 ​

代码分析 ​

源代码分析工具,也称为静态应用程序安全测试(SAST)工具。

  • golangci-lint - – 一个快速的 Go linters 运行器。它并行运行 linters,使用缓存,支持 yaml 配置,与所有主要 IDE 集成,并包含数十个 linters。
  • staticcheck - staticcheck 是增强版的 go vet,应用了大量静态分析检查,您可能习惯于使用类似 C# 的 ReSharper 等工具。
  • revive - – 比 golint 快约 6 倍、更严格、可配置、可扩展且美观的替代品。
  • errcheck - Errcheck 是一个用于检查 Go 程序中未检查错误的程序。
  • GoPlantUML - 库和 CLI,生成包含结构体、接口及其关系的文本 plantump 类图。
  • go-critic - 源代码 linter,提供其他 linter 目前未实现的检查。
  • vacuum - 一个超高速、轻量级的 OpenAPI linter 和质量检查工具。
  • golines - 自动缩短 Go 代码中长行的格式化程序。
  • go-cleanarch - go-cleanarch 旨在验证 Clean Architecture 规则,例如依赖规则以及 Go 项目中包之间的交互。
  • php-parser - 用 Go 编写的 PHP 解析器。
  • goast-viewer - 基于 Web 的 Golang AST 可视化工具。
  • go-mod-outdated - 一种轻松查找 Go 项目中过时依赖的方法。
  • goreturns - 添加零值返回语句以匹配函数返回类型。
  • todocheck - 静态代码分析器,将代码中的 TODO 注释与问题跟踪器中的问题关联起来。
  • Chronos - 静态检测竞态条件。
  • unconvert - 从 Go 源码中移除不必要的类型转换。
  • wrapcheck - 一个检查外部包的错误是否被包装的 linter。
  • dupl - 用于代码克隆检测的工具。
  • tickgit - 用于发现代码注释中 TODO(任何语言)并应用 git blame 识别作者的 CLI 和 Go 包。
  • gostatus - 命令行工具,显示包含 Go 包的仓库状态。
  • apicompat - 检查 Go 项目的近期更改是否存在向后不兼容的变更。
  • testifylint - – 检查 github.com/stretchr/testify 使用情况的 linter。
  • ast-metrics - 用于 Go 和其他语言的静态代码分析器:复杂度、耦合度、内聚性和可维护性指标,支持 HTML、JSON、Markdown 和 SARIF 报告。
  • go-checkstyle - checkstyle 是一个类似 Java checkstyle 的样式检查工具。该工具受 Java checkstyle 和 golint 启发。样式参考了 Go Code Review Comments 中的一些要点。
  • asty - 将 Golang AST 转换为 JSON,并将 JSON 转换为 AST。
  • fatcontext - Fatcontext 检测循环或函数字面量中的嵌套上下文。
  • lint - 在 go test 中运行 linters。
  • ChainJacking - 找出您的 Go 语言直接 GitHub 依赖中哪些容易受到 ChainJacking 攻击。
  • validate - 自动使用标签验证结构体字段。
  • usestdlibvars - 一个检测是否可以使用 Go 标准库中的变量/常量的 linter。
  • stto - 一个用纯 Go 编写的轻量级超快速代码行计数器。
  • gocondense - 一个兼容 gofmt 的格式化程序,可将多行结构压缩到适合的单行中。
  • gomarklint - Markdown linter,内置 HTTP 链接验证,单一二进制文件,无需 Node.js。
  • golang-ifood-sdk - iFood API SDK。
  • structalign - 显示结构体字段如何重新排序以减少内存使用,打印差异而不是重写文件。
  • deadmono - 围绕 deadcode 的包装器,用于检测 Go 单体仓库中的死代码。
  • blanket - blanket 是一个帮助您捕获 Go 包中没有直接单元测试的函数的工具。
  • goimports - 自动修复(添加、删除)Go 导入的工具。

WebAssembly ​

  • tinygo - 面向小型环境的 Go 编译器。微控制器、WebAssembly 和命令行工具。基于 LLVM。
  • wasmtime-go - Wasmtime WebAssembly 运行时的 Go 绑定(支持 WASI、JIT/AOT,安全且快速的嵌入)。
  • dom - DOM 库。
  • go-canvas - 使用 HTML5 Canvas 的库,所有绘制均在 Go 代码中完成。
  • wasmbrowsertest - 在浏览器中运行 Go WASM 测试。
  • Extism Go SDK - 通用、跨语言的 WebAssembly 框架,用于构建插件系统和多语言应用。
  • webapi - 由 WebIDL 生成的 DOM 和 HTML 绑定。
  • vert - Go 与 JS 值之间的互操作。

数据结构与算法 ​

  • gods - Go 数据结构。容器、集合、列表、栈、映射、双向映射、树、哈希集等。
  • bleve - Go 的现代文本索引库。
  • hatchet - 分布式、容错的任务队列。
  • go-datastructures - 一组有用、高性能且线程安全的数据结构。
  • golang-set - Go 的线程安全和非线程安全高性能集合。
  • gota - Go 的数据帧、序列和数据整理方法实现。
  • roaring - Go 包,实现压缩位集。
  • bloom - Go 包,实现布隆过滤器。
  • xsync - 并发可扩展数据结构,如 xsync.Map,一种并发泛型哈希表。
  • boomfilters - 用于处理连续、无界流的概率数据结构。
  • bitset - Go 包,实现位集。
  • cuckoofilter - 布谷鸟过滤器:Go 中实现的计数布隆过滤器的良好替代品。
  • gostl - Go 的数据结构和算法库,旨在提供类似于 C++ STL 的功能。
  • hyperloglog - HyperLogLog 实现,包含 Sparse、LogLog-Beta 偏差校正和 TailCut 空间缩减。
  • algorithms - 算法与数据结构。CLRS 学习。
  • trie - Go 中的 Trie 实现。
  • deque - 快速环形缓冲区双端队列。
  • go-edlib - Go 字符串比较和编辑距离算法库(Levenshtein、LCS、Hamming、Damerau Levenshtein、Jaro-Winkler 等),兼容 Unicode。
  • levenshtein - 用于计算 Levenshtein 距离的 Go 实现。
  • goconcurrentqueue - 并发 FIFO 队列。
  • skiplist - 快速且易于使用的 Go 跳表。
  • go-adaptive-radix-tree - Go 实现的自适应基数树。
  • bitmap - Go 中密集、零分配、支持 SIMD 的位图/位集。
  • queue - Go 的多个线程安全通用队列实现。
  • go-geoindex - 内存中的地理索引。
  • cuckoo-filter - 布谷鸟过滤器:一个全面的布谷鸟过滤器,与其他实现相比可配置且空间优化,原始论文中提到的所有功能均可用。
  • skiplist - 非常快的 Go Skiplist 实现。
  • concurrent-swiss-map - 一个高性能、线程安全的泛型并发哈希映射实现,使用 Swiss Map。
  • binpacker - 二进制打包与解包器,帮助用户构建自定义二进制流。
  • deque - 一个高度优化的双端队列。
  • iter - Go 实现的 C++ STL 迭代器和算法。
  • bit - Golang 集合数据结构,附带位操作函数。
  • bloom - 用 Go 实现的布隆过滤器。
  • ring - Go 实现的高性能、线程安全的布隆过滤器。
  • memlog - 一个易用、轻量、线程安全且仅追加的内存数据结构,灵感来自 Apache Kafka。
  • go-rquad - 区域四叉树,支持高效的点定位和邻居查找。
  • gogu - 一个全面、可复用、高效的并发安全泛型工具函数和数据结构库。
  • go-rampart - 确定区间之间的相互关系。
  • cmap - 一个线程安全的并发映射,支持使用 interface{} 作为键,并自动扩展分片。
  • go-tuple - Go 1.18+ 的通用元组实现。
  • crunch - Go 包,实现缓冲区以轻松处理各种数据类型。
  • levenshtein - Levenshtein 距离和相似度度量,支持自定义编辑成本,并具有类似 Winkler 的公共前缀奖励。
  • bloom - Golang 布隆过滤器实现。
  • fsm - 有限状态机包。
  • nan - 一个库中的零分配可空结构,附带便捷转换函数、编组器和解编组器。
  • go-generics - 通用的切片、映射、集合、迭代器和 goroutine 工具。
  • skiplist - Go 中的 Skiplist 实现。
  • hide - ID 类型,支持哈希的编组/解组,防止向客户端发送 ID。
  • count-min-log - Go 实现的 Count-Min-Log 草图:使用近似计数器进行近似计数(类似 Count-Min 草图,但占用更少内存)。
  • treemap - 基于红黑树的通用键排序映射。
  • concurrent-writer - bufio.Writer 的高并发即插即用替代品。
  • pipeline - 具有扇入和扇出功能的管道实现。
  • goradd/maps - Go 1.18+ 的泛型映射接口,用于映射;安全映射;有序映射;有序安全映射等。
  • bingo - 快速、零分配、保持字典序的原生类型到字节的打包。
  • goset - Go 的一个有用的集合实现。
  • genfuncs - 受 Kotlin 的 Sequence 和 Map 启发的 Go 1.18+ 泛型包。
  • dict - Go 的类似 Python 的字典(dict)。
  • go18ds - 使用 Go 1.18 泛型实现的 Go 数据结构。
  • ordered-concurrently - Go 模块,并发处理工作并按输入顺序通过通道返回输出。
  • typ - 空类型、安全的原始类型转换以及从复杂结构中获取值。
  • ptrie - 前缀树的一种实现。
  • go-ef - Elias-Fano 编码的 Go 实现。
  • quadtree - 通用、零分配、100% 测试覆盖的四叉树。
  • radixtree - 自适应基数树(前缀树或紧凑 trie)。
  • null - 可编组/解组为 JSON 的可空 Go 类型。
  • parapipe - FIFO 管道,在每个阶段并行执行,同时保持消息和结果的顺序。
  • hashsplit - 将字节流分块,并将块组织成树,边界由内容决定,而非位置。
  • set - 使用 LinkedHashMap 实现的 Go 简单集合数据结构。
  • mspm - 用于信息检索的多字符串模式匹配算法。
  • gloop - 使用 Go 的 range-over-func 特性实现便捷循环。
  • FSM - Go 的 FSM。
  • merkle - 高效计算 Merkle 根哈希和包含证明。
  • slices - 纯泛型切片函数。
  • bloomfilter - 另一个 Go 布隆过滤器实现,兼容 Java 的 Guava 库。
  • goterator - 提供 map 和 reduce 功能的迭代器实现。
  • gofal - Go 的分数 API。
  • pipelines - 用于并发处理的通用管道函数。
  • glinq - 类似 LINQ 的惰性求值库,具有类型安全的泛型、性能优化和零依赖。
  • deheap - 双端堆(最小-最大堆),对最小和最大元素均具有 O(log n) 访问时间。
  • dsu - Go 中的不相交集合数据结构实现。
  • ribbonGo - 首个纯 Go 实现的 Ribbon 过滤器(实际上比 Bloom 和 Xor 更小),用于空间高效的近似集合成员查询。
  • go-shelve - Go 编程语言的持久化、类似映射的对象。支持多种嵌入式键值存储。
  • list - 一个通用的线程安全双向链表,支持完整迭代器,以及用于嵌入式环境的侵入式单向链表;是 container/list 的功能丰富的替代品。
  • parsefields - 解析类 JSON 日志以收集唯一字段和事件的工具。
  • genericsyncmap - sync.Map 的类型安全泛型包装,具有完整的方法对等和零依赖。
  • dqueue - 简单、内存中、零依赖且经过实战检验的线程安全延迟队列。
  • graphlib - 拓扑排序库,用于 DAG 图的排序和剪枝。
  • combo - 组合操作,包括排列、组合和带替换的组合。
  • hmap - HMap 是一个并发且安全的泛型 Map 实现,旨在提供易于使用的 API。

编辑器插件 ​

用于文本编辑器和 IDE 的插件。

  • vim-go - Vim 的 Go 开发插件。
  • gocode - Go 编程语言的自动补全守护进程。
  • vscode-go - Visual Studio Code(VS Code)扩展,提供对 Go 语言的支持。
  • GoSublime - 为文本编辑器 SublimeText 3 提供的 Golang 插件集合,提供代码补全和其他类似 IDE 的功能。
  • go-mode - GNU/Emacs 的 Go 模式。
  • goimports-reviser - 用于导入的格式化工具。
  • coc-go language server extension for Vim/Neovim - 此插件为 Vim/Neovim 添加了 gopls 功能。
  • Watch - 文件更改时在 acme win 中运行命令。
  • vim-compiler-go - Vim 插件,在保存时高亮语法错误。
  • gounit-vim - Vim 插件,根据函数或方法的签名生成 Go 测试。
  • Go Doc - 一个 Visual Studio Code 扩展,用于在输出中显示定义并生成 go doc。
  • Go plugin for JetBrains IDEs - JetBrains IDE 的 Go 插件。
  • goprofiling - 此扩展为 VS Code 添加了 Go 语言的基准测试分析支持。

电子邮件 ​

实现电子邮件创建和发送的库和工具。

  • MailHog - 带 Web 和 API 界面的电子邮件和 SMTP 测试。
  • Mailpit - 面向开发者的电子邮件和 SMTP 测试工具。
  • Maddy - 一体化(SMTP、IMAP、DKIM、DMARC、MTA-STS、DANE)邮件服务器。
  • mox - 现代功能齐全的安全邮件服务器,适合低维护、自托管的电子邮件。
  • hermes - 生成简洁、响应式 HTML 电子邮件的 Golang 包。
  • email - 一个健壮且灵活的 Go 电子邮件库。
  • go-imap - 用于客户端和服务器的 IMAP 库。
  • email-verifier - 一个 Go 库,用于电子邮件验证,无需发送任何邮件。
  • go-mail - 一个用 Go 发送邮件的简单库。
  • SendGrid - SendGrid 的 Go 邮件发送库。
  • mailgun-go - 使用 Mailgun API 发送邮件的 Go 库。
  • go-simple-mail - 非常简单的邮件发送包,支持 SMTP 保持连接和两个超时:连接和发送。
  • go-message - 面向互联网消息格式和邮件消息的流式库。
  • douceur - 用于 HTML 邮件的 CSS 内联器。
  • Hectane - 提供 HTTP API 的轻量级 SMTP 客户端。
  • go-premailer - Go 中 HTML 邮件的内联样式。
  • smtpmock - 轻量级可配置的多线程假 SMTP 服务器,可为测试环境模拟任意 SMTP 行为。
  • mailchain - 用 Go 编写,向区块链地址发送加密电子邮件。
  • truemail-go - 可配置的 Golang 电子邮件验证器/校验器,可通过正则表达式、DNS、SMTP 等方式验证电子邮件。
  • go-imap - 功能齐全的 IMAP 客户端,支持自动重连、OAuth2、IDLE 和内置 MIME 解析。
  • go-dkim - DKIM 库,用于签名和验证电子邮件。
  • go-email-normalizer - 用于提供电子邮件地址规范表示的 Golang 库。
  • smtp - SMTP 服务器协议状态机。
  • mailx - Mailx 是一个通过 SMTP 发送电子邮件的库,是对 Go 标准库 net/smtp 的增强。
  • tickstem/verify - 在电子邮件进入数据库之前进行验证:语法、MX 查找、一次性域名和基于角色的收件箱。
  • go-spamcheck - Postmark 的 SpamCheck API 客户端,可根据 SpamAssassin 规则对原始邮件进行评分。
  • chasquid - 用 Go 编写的 SMTP 服务器。

JSON ​

用于处理 JSON 的库。

  • GJSON - 一行代码获取 JSON 值。
  • gabs - 用于在 Go 中解析、创建和编辑未知或动态 JSON。
  • SJSON - 一行代码设置 JSON 值。
  • gojson - 根据示例JSON自动生成Go(golang)结构体定义。
  • fastjson - 用于Go的快速JSON解析器和验证器。无需自定义结构体、无需代码生成、无需反射。
  • OjG - Optimized JSON for Go是一个高性能解析器,包含多种附加JSON工具,包括JSONPath。
  • jsondiff - 基于 RFC6902(JSON Patch)的 Go JSON 差异库。
  • marshmallow - 高性能JSON解组,适用于灵活用例。
  • kazaam - 用于任意转换 JSON 文档的 API。
  • ajson - 支持 JSONPath 的 Go 抽象 JSON 库。
  • jsonvalue - 用于非结构化 JSON 数据的快速便捷库,替代 encoding/json。
  • gojq - Golang 中的 JSON 查询。
  • jettison - 用于Go的快速灵活的JSON编码器。
  • json2go - 高级JSON到Go结构体转换。提供可解析多个JSON文档并创建适合所有文档的结构体的包。
  • gjo - 创建 JSON 对象的小工具。
  • JayDiff - 用 Go 编写的 JSON 差异工具。
  • jsongo - 流畅的API,使创建JSON对象更简单。
  • jscan - 高性能零分配 JSON 迭代器。
  • ujson - 快速且极简的 JSON 解析器和转换器,适用于非结构化 JSON。
  • jsonf - 用于高亮格式化和结构体查询获取 JSON 的控制台工具。
  • silentjson - 利用 AVX2 SIMD 指令的零分配 JSON 边界扫描器和分割器。
  • ask - 轻松访问映射和切片中的嵌套值。可与 encoding/json 及其他将任意数据“反序列化”为 Go 数据类型的包配合使用。
  • go-respond - 用于处理常见 HTTP JSON 响应的 Go 包。
  • jsoncolor - encoding/json的直接替代品,输出彩色JSON。
  • mp - 简单的CLI电子邮件解析器。目前从标准输入读取并输出JSON。
  • vjson - 用于通过流畅API声明JSON模式来验证JSON对象的Go包。
  • gojmapr - 通过 JSON 路径从复杂 JSON 中获取简单结构体。
  • mapslice-json - Go MapSlice,用于JSON中映射的有序编组/解组。
  • epoch - 包含将Unix时间戳/纪元与内置time.Time类型在JSON中相互编解码的原语。
  • dynjson - 客户端可自定义的JSON格式,适用于动态API。
  • go-jsonerror - Go-JsonError 旨在让我们轻松创建符合 JsonApi 规范的 JSON 响应错误。
  • jsonapi-errors - 基于 JSON API 错误参考的 Go 绑定。
  • jsonhal - 简单的 Go 包,使自定义结构体编组为符合 HAL 的 JSON 响应。
  • jsonic - 以类型安全的方式处理并查询JSON而无需定义结构体的工具。
  • jzon - 具有标准兼容 API/行为的 JSON 库。
  • ej - 简洁地从不同来源读写JSON。
  • htmljson - 在Go中将JSON富渲染为HTML。
  • omg.jsonparser - 通过 golang 结构体字段标签进行条件验证的简单 JSON 解析器。
  • jsonhandlers - JSON库,提供简单处理器,让您轻松从各种来源读写JSON。
  • jseq - 流式 JSON 解析器。
  • JSON-to-Go - 将 JSON 转换为 Go 结构体。
  • JSON-to-Proto - 在线将 JSON 转换为 Protobuf。

Goroutines ​

用于管理和操作 Goroutines 的工具。

  • ants - Go 中高性能、低成本的 goroutine 池。
  • conc - conc 是 Go 中结构化并发的工具带,使常见任务更简单、更安全。
  • tunny - Golang 的 goroutine 池。
  • goworker - goworker 是一个基于 Go 的后台 worker。
  • pond - 用 Go 编写的极简且高性能的 goroutine worker 池。
  • rill - 用于干净、可组合、基于通道的并发的 Go 工具包。
  • workerpool - 限制任务执行并发数(而非排队任务数)的 goroutine 池。
  • grpool - 轻量级 goroutine 池。
  • pool - 有限的消费者 goroutine 或无限的 goroutine 池,便于 goroutine 处理和取消。
  • gowp - gowp 是一个并发限制的 goroutine 池。
  • flowmatic - 结构化并发变得简单。
  • async - Go 的替代同步库(Future、Promise、Locks)。
  • go-actor - 使用 actor 模型编写并发程序的小型库。
  • routine - routine 是 Go 库的 ThreadLocal。它封装并提供了一些易用、无竞争、高性能的 goroutine 上下文访问接口,可帮助你更优雅地访问协程上下文信息。
  • go-floc - 轻松编排 goroutines。
  • go-flow - 控制 goroutine 的执行顺序。
  • artifex - 基于 worker 调度的 Golang 简单内存任务队列。
  • semaphore - 基于 CAS 的快速可调整大小信号量实现(比基于通道的信号量实现更快)。
  • neilotoole/errgroup - 可直接替代 sync/errgroup,限制为 N 个 worker goroutine 的池。
  • cyclicbarrier - Golang 的 CyclicBarrier。
  • async - 安全地异步执行函数,并在 panic 时恢复它们。
  • gollback - 异步简单函数工具,用于管理闭包和回调的执行。
  • go-future - 一个具有通用组合器和 DAG 执行引擎的 Future/Promise 库。
  • Hunch - Hunch 提供了诸如 All、First、Retry、Waterfall 等函数,使异步流程控制更直观。
  • threadpool - Golang 线程池实现。
  • semaphore - 基于通道和上下文的信号量模式实现,支持锁/解锁操作的超时。
  • worker-pool - goworker 是一个 Go 简单的异步 worker 池。
  • gpool - 管理一个可调整大小的、上下文感知的 goroutine 池,以限制并发。
  • goccm - Go Concurrency Manager 包限制了允许并发运行的 goroutine 数量。
  • gowl - Gowl 同时是一个进程管理和进程监控工具。无限 worker 池使您能够控制池和进程并监控其状态。
  • nursery - Go 中的结构化并发。
  • routine - 带上下文的 goroutine 控制,支持:Main、Go、Pool 和一些有用的 Executors。
  • gohive - 一个高性能且易于使用的 Go goroutine 池。
  • kyoo - 提供无限任务队列和并发 worker 池。
  • go-waitgroup - 类似 sync.WaitGroup,但带有错误处理和并发控制。
  • parallel-fn - 并行运行函数。
  • go-trylock - Golang 读写锁的 TryLock 支持。
  • channelify - 将函数转换为返回通道,以便轻松进行强大的并行处理。
  • stl - 基于软件事务内存(STM)并发控制机制的软件事务锁。
  • execpool - 围绕 exec.Cmd 构建的池,预先启动指定数量的进程,并在需要时附加 stdin 和 stdout。与 FastCGI 或 Apache Prefork MPM 非常相似,但适用于任何命令。
  • goscade - 极简的 Go 组件生命周期编排器,支持依赖图、启动顺序、就绪协调和优雅关闭。
  • breaker - 使执行流可中断的灵活机制。
  • concurrency-limiter - 并发限制器,支持超时、动态优先级和 goroutine 的上下文取消。
  • conexec - 一个并发工具包,帮助高效且安全地并发执行函数。它支持指定整体超时以避免阻塞,并使用 goroutine 池来提高效率。
  • async - Go 的异步任务包,采用 async/await 风格。
  • go-tools/multithreading - 使用这个轻量级库和简单 API 管理 goroutine 池。
  • go-workerpool - 受 Java 线程池启发,Go WorkerPool 旨在控制繁重的 Go Routines。
  • async-job - AsyncJob 是一个异步队列任务管理器,代码轻量、清晰且快速。
  • go-accumulator - 事件累积及其后续处理的解决方案。
  • hands - 一个进程控制器,用于控制多个 goroutine 的执行和返回策略。
  • anchor - 用于微服务架构中组件生命周期管理的库。
  • autopool - Go 的零配置、自动扩展 worker 池,支持优先级感知调度。
  • powerlock - 具有上下文取消的命名 FIFO 互斥锁、有界等待队列、看门狗诊断、pprof 分析和 Prometheus 指标。
  • oversight - Oversight 是 Erlang 监督树的完整实现。

序列化 ​

用于二进制序列化的库和工具。

  • jsoniter - 高性能、100% 兼容的 "encoding/json" 即插即用替代品。
  • goprotobuf - 以库和协议编译器插件的形式为 Google 的 protocol buffers 提供 Go 支持。
  • go-codec - 高性能、功能丰富、惯用的 msgpack、cbor 和 json 编码、解码及 rpc 库,支持基于运行时或代码生成。
  • cbor - 小巧、安全且易用的 CBOR 编码和解码库。
  • csvutil - 高性能、惯用的 CSV 记录编码和解码,映射到原生 Go 结构体。
  • colfer - Colfer 二进制格式的代码生成。
  • proto - 用于 Google ProtocolBuffers .proto 文件的解析器和写入器。
  • go-capnproto - 用于 Go 的 Cap'n Proto 库和解析器。
  • php_session_decoder - 用于处理 PHP 会话格式和 PHP Serialize/Unserialize 函数的 GoLang 库。
  • mus-go - 用于 Go 的 MUS 格式序列化器。
  • structomap - 轻松从静态结构动态生成映射的库。
  • binstruct - 用于将数据映射到结构体中的 Golang 二进制解码器。
  • bambam - 从 Go 生成 Cap'n Proto 模式的生成器。
  • bel - 从 Go 结构体/接口生成 TypeScript 接口。适用于 JSON RPC。
  • fwencoder - 用于 Go 的固定宽度文件解析器(编码和解码库)。
  • elastic - 在运行时将切片、映射或任何其他未知值在不同类型之间转换,无论什么情况。
  • gotiny - 高效的 Go 序列化库,gotiny 几乎与生成代码的序列化库一样快。
  • pletter - 为消息代理包装 proto 消息的标准方式。
  • go-csvlib - 功能丰富的高层 CSV 序列化/反序列化库。
  • fixedwidth - 固定宽度文本格式化(支持 UTF-8)。
  • unitpacking - 将单位向量打包为尽可能少字节的库。

消息 ​

实现消息系统的库。

  • Asynq - 基于 Redis 构建的简单、可靠、高效的 Go 分布式任务队列。
  • sarama - Apache Kafka 的 Go 库。
  • Centrifugo - 用 Go 编写的实时消息(Websockets 或 SockJS)服务器。
  • Watermill - 高效处理消息流。构建事件驱动应用,支持事件溯源、基于消息的 RPC、Saga。可以使用传统的 pub/sub 实现如 Kafka 或 RabbitMQ,也可以使用 HTTP 或 MySQL binlog。
  • gorush - 使用 APNs2 和 google GCM 的推送通知服务器。
  • machinery - 基于分布式消息传递的异步任务队列/作业队列。
  • NATS Go Client - NATS 的 Go 客户端。
  • Mercure - 使用 Mercure 协议(基于服务器发送事件)分发服务器推送更新的服务器和库。
  • Confluent Kafka Golang Client - confluent-kafka-go 是 Confluent 的 Apache Kafka 和 Confluent Platform 的 Golang 客户端。
  • melody - 用于处理 WebSocket 会话的极简框架,包含广播和自动 ping/pong 处理。
  • APNs2 - 用于 Go 的 HTTP/2 Apple Push Notification 提供程序 - 向 iOS、tvOS、Safari 和 OSX 应用发送推送通知。
  • go-nsq - NSQ 的官方 Go 包。
  • gopush-cluster - gopush-cluster 是一个 Go 推送服务器集群。
  • amqp - Go RabbitMQ 客户端库。
  • EventBus - 支持异步兼容的轻量级事件总线。
  • Beaver - 实时消息服务器,用于在 Web 和移动应用中构建可扩展的应用内通知、多人游戏、聊天应用。
  • Uniqush-Push - 基于 Redis 的统一推送服务,用于向移动设备发送服务器端通知。
  • Chanify - 向 iOS 设备发送消息的推送通知服务器。
  • zmq4 - ZeroMQ 版本 4 的 Go 接口。也可用于版本 3和版本 2。
  • dbus - D-Bus 的原生 Go 绑定。
  • Gollum - 一个 n:m 多路复用器,从不同来源收集消息并广播到一组目标。
  • mangos - Nanomsg(“可扩展协议”)的纯 Go 实现,支持传输互操作。
  • golongpoll - HTTP 长轮询服务器库,使 Web 发布-订阅变得简单。
  • emitter - 以 Go 方式发出事件,支持通配符、谓词、取消功能等众多优点。
  • Quamina - 用于过滤消息和事件的快速模式匹配。
  • pubsub - Go 的简单 pubsub 包。
  • Glue - 健壮的 Go 和 Javascript Socket 库(Socket.io 的替代品)。
  • Bus - 用于内部通信的极简消息总线实现。
  • rabtap - RabbitMQ 瑞士军刀 CLI 应用。
  • messagebus - messagebus 是一个 Go 简单的异步消息总线,非常适合在事件溯源、CQRS、DDD 中用作事件总线。
  • Go-MediatR - 受 csharp MediatR 库启发,用于在事件驱动架构中处理中介者模式和简化 CQRS 模式的库。
  • varmq - 面向并发 Go 程序的存储无关消息队列和工作池。
  • guble - 使用推送通知(Google Firebase Cloud Messaging、Apple Push Notification services、SMS)以及 websockets、REST API 的消息服务器,支持分布式操作和消息持久化。
  • backlite - 类型安全、持久化、嵌入式任务队列和后台任务运行器,使用 SQLite。
  • hub - 用于 Go 应用的消息/事件中心,使用发布/订阅模式,支持类似 rabbitMQ 交换器的别名。
  • redisqueue - redisqueue 提供使用 Redis 流的队列的生产者和消费者。
  • Ratus - Ratus 是一个 RESTful 异步任务队列服务器。
  • rabbitroutine - 轻量级库,处理 RabbitMQ 自动重连和发布重试。该库考虑了重连后需要在 RabbitMQ 中重新声明实体。
  • oplog - 用于 REST API 的通用 oplog/复制系统。
  • rabbus - amqp 交换器和队列的轻量封装。
  • go-mq - 具有声明式配置的 RabbitMQ 客户端。
  • drone-line - 使用二进制、docker 或 Drone CI 发送 Line 通知。
  • nsq-event-bus - NSQ 主题和通道的轻量封装。
  • GoEventBus - 一个极快、内存中、无锁的事件总线库。
  • go-notify - freedesktop 通知规范的原生实现。
  • RapidMQ - RapidMQ 是一个轻量且可靠的库,用于管理本地消息队列。
  • go-res - 用于构建 REST/实时服务的包,使用 NATS 和 Resgate 实现客户端无缝同步。
  • Commander - 支持 Apache Kafka 等各种“方言”的高级事件驱动消费者/生产者。
  • event - 观察者模式的实现。
  • hare - 一个用户友好的库,用于发送消息和监听 TCP 套接字。
  • hypermatch - 将事件与大量规则匹配,规则可用 Go 或 JSON 编写。
  • ami - 基于 Redis Cluster Streams 的可靠队列的 Go 客户端。
  • gosd - 用于调度何时向通道发送消息的库。
  • go-vitotrol - Viessmann Vitotrol Web 服务的客户端库。
  • rmqconn - RabbitMQ 重连。amqp.Connection 和 amqp.Dial 的封装。允许在连接断开时进行重连,然后强制调用 Close() 方法关闭。
  • jazz - 一个简单的 RabbitMQ 抽象层,用于队列管理以及消息的发布和消费。
  • broker - 生产级消息抽象,为各种代理提供统一 API,并内置 OpenTelemetry 集成。
  • gaurun-client - 用 Go 编写的 Gaurun 客户端。
  • go-eventbus - Go 的简单事件总线包。
  • kiln - PostgreSQL、MySQL 或 SQLite 中的持久化后台任务,支持重试、工作流、定期任务和仪表板。

游戏开发 ​

出色的游戏开发库。

  • Ebitengine - Go 中极简的 2D 游戏引擎。
  • Leaf - 轻量级游戏服务器框架。
  • nano - 轻量、便捷、高性能的基于 golang 的游戏服务器框架。
  • g3n - Go 3D 游戏引擎。
  • Pitaya - 可扩展的游戏服务器框架,支持集群,并通过 C SDK 提供 iOS、Android、Unity 等客户端库。
  • goworld - 可扩展的游戏服务器引擎,具有空间实体框架和热交换功能。
  • raylib-go - raylib 的 Go 绑定,这是一个简单易用的视频游戏编程学习库。
  • go-sdl2 - Simple DirectMedia Layer 的 Go 绑定。
  • engo - Engo 是一个用 Go 编写的开源 2D 游戏引擎,遵循实体-组件-系统范式。
  • Oak - 纯 Go 游戏引擎。
  • termloop - 基于 Termbox 的 Go 终端游戏引擎。
  • gonet - 使用 golang 实现的游戏服务器骨架。
  • due - 分布式游戏服务器框架,采用模块化组件设计,提供 tcp、kcp、ws 和 quic 网关。
  • go-astar - A* 寻路算法的 Go 实现。
  • gogpu - 基于 WebGPU 的 GPU 应用框架,提供窗口、输入和渲染功能——将 480 多行 GPU 代码缩减至约 20 行,零 CGO(GoGPU 生态:gg、ui、wgpu、naga)。
  • Pixel - 手工打造的 Go 2D 游戏库。
  • go3d - 面向性能的 Go 2D/3D 数学包。
  • Ark - 基于 Archetype 的 Go 实体组件系统(ECS)。
  • tile - 面向数据且缓存友好的 2D 网格库(TileMap),包含寻路、观察者以及导入/导出功能。
  • gogpu/wgpu - 纯 Go 实现的 WebGPU,支持 Vulkan、DX12 和 Metal 后端,零 CGO(属于 GoGPU 生态的一部分)。
  • ecs - 在 Golang 中基于实体组件系统概念构建你自己的游戏引擎。
  • prototype - 跨平台(Windows/Linux/Mac)库,使用极简 API 创建桌面游戏。
  • GOKe - 面向数据(DOD)、基于 archetype 的 ECS 引擎,利用 L1 缓存对齐的分块 SoA 布局,实现可预测、无阶跃的内存增长和零分配执行路径。
  • Pi - 用于在现代计算机上创建复古游戏的游戏引擎,灵感来自 Pico-8,由 Ebitengine 驱动。
  • fantasyname - 幻想名称生成器。
  • grid - 通用 2D 网格,支持射线投射、阴影投射和寻路。
  • sceneCamera - 用于博物馆、FPS、RTS 和立体渲染模式的相机移动和视图/投影矩阵。

Go 编译器 ​

用于将 Go 编译为其他语言以及反向编译的工具。

  • gopherjs - 从 Go 到 JavaScript 的编译器。
  • bunster - 将 shell 脚本编译为 Go。
  • cxgo - 将 C 代码转译为 Go 代码。
  • c4go - 将 C 代码转译为 Go 代码。
  • go2hx - 从 Go 到 Haxe 再到 JavaScript/C++/Java/C# 的编译器。
  • esp32 - 将 Go 转译为 Arduino 代码。
  • f4go - 将 FORTRAN 77 代码转译为 Go 代码。

Webhooks 服务器 ​

  • webhook - 允许用户创建在服务器上执行命令的 HTTP 端点(hooks)的工具。
  • WebhookX - 一个用于消息接收、处理和可靠投递的 webhooks 网关。
  • webhooked - 一个增强版 webhook 接收器:处理、安全、格式化并存储 Webhook 负载从未如此简单。
  • HookRun - 轻量级 webhook 动作引擎(约 3MB 单二进制,零依赖),通过 YAML 规则执行命令和脚本,支持 token/HMAC/IP 认证和热重载。

可嵌入的脚本语言。 ​

在 Go 代码中嵌入其他语言。

  • FrankenPHP - 嵌入 Go 中的 PHP,带 net/http 处理器。
  • expr - Go 的表达式求值引擎:快速、非图灵完备、动态类型、静态类型。
  • goja - Go 中的 ECMAScript 5.1(+) 实现。
  • gopher-lua - 用 Go 编写的 Lua 5.1 虚拟机和编译器。
  • tengo - 面向 Go 的字节码编译脚本语言。
  • go-lua - 将 Lua 5.2 虚拟机移植到纯 Go。
  • starlark-go - Starlark 的 Go 实现:具有确定性求值和封闭执行的类 Python 语言。
  • metacall - 跨平台多语言运行时,支持 NodeJS、JavaScript、TypeScript、Python、Ruby、C#、WebAssembly、Java、Cobol 等。
  • Wa/凹语言 - 嵌入到 Go 中的 Wa 编程语言。
  • anko - 用 Go 编写的可脚本化解释器。
  • go-php - Go 的 PHP 绑定。
  • gval - 用 Go 编写的高度可定制的表达式语言。
  • prolog - 可嵌入的 Prolog。
  • golua - Lua C API 的 Go 绑定。
  • gisp - Go 中的简单 LISP。
  • gentee - 可嵌入的脚本编程语言。
  • binder - 基于 gopher-lua 的 Go 到 Lua 绑定库。
  • starlet - starlark-go 的 Go 封装,简化脚本执行,提供数据转换以及实用的 Starlark 库和扩展。
  • ecal - 一种简单的可嵌入脚本语言,支持并发事件处理。
  • purl - 嵌入到 Go 中的 Perl 5.18.2。
  • ngaro - 可嵌入的 Ngaro VM 实现,支持在 Retro 中编写脚本。
  • go-lua - 用纯 Go 实现的 Lua 5.4 虚拟机。
  • cel-go - 快速、可移植、非图灵完备的表达式求值,支持渐进类型。
  • goal - 一种可嵌入的脚本数组语言。

第三方 API ​

用于访问第三方 API 的库。

查询语言 ​

  • gqlgen - 基于 go generate 的 GraphQL 服务器库。
  • graphql-go - Go 的 GraphQL 实现。
  • dasel - 使用选择器从命令行查询和更新数据结构。与 jq/yq 类似,但支持 JSON、YAML、TOML 和 XML,且零运行时依赖。
  • graphql - 专注于易用性的 GraphQL 服务器。
  • gojsonq - 一个用于查询 JSON 数据的简单 Go 包。
  • play - 一个 TUI 游乐场,用于试验你喜欢的程序,如 grep、sed、awk、jq 和 yq。
  • rql - REST API 的资源查询语言。
  • jsonql - Golang 中的 JSON 查询表达式库。
  • gnata - JSONata 2.x 查询与转换语言的纯 Go 实现。
  • jsonslice - 支持高级过滤的 JSONPath 查询。
  • rqp - REST API 的查询解析器。直接在查询中支持过滤、验证以及 AND、OR 操作。
  • mql - 模型查询语言(mql)是用于数据库模型的查询语言。
  • goven - 适用于任何数据库模式的即插即用查询语言。
  • api-fu - 全面的 GraphQL 实现。
  • straf - 轻松将 Golang 结构体转换为 GraphQL 对象。
  • jsonpath - 基于 JSONPath 语法检索 JSON 部分的查询库。
  • gws - Apollo 的“基于 WebSocket 的 GraphQL”客户端与服务器实现。
  • grapher - 利用 Go 泛型构建 GraphQL 字段,并提供额外实用工具和功能。

模板引擎 ​

用于模板化和词法分析的库和工具。

  • templ - 一种具有出色开发者工具的 HTML 模板语言。
  • quicktemplate - 快速、强大且易于使用的模板引擎。将模板转换为 Go 代码,然后编译。
  • pongo2 - 类似 Django 的 Go 模板引擎。
  • maroto - 一种创建 PDF 的 maroto 方式。Maroto 受 Bootstrap 启发,并使用 gofpdf。快速且简单。
  • jet - Jet 模板引擎。
  • fasttemplate - 简单快速的模板引擎。替换模板占位符的速度比 text/template 快 10 倍。
  • Razor - Golang 的 Razor 视图引擎。
  • ego - 轻量级模板语言,让你用 Go 编写模板。模板会被转换为 Go 代码并编译。
  • goview - Goview 是一个基于 golang html/template 的轻量级、极简且地道的模板库,用于构建 Go Web 应用。
  • liquid - Shopify Liquid 模板的 Go 实现。
  • sprout - Go 模板的有用模板函数。
  • Soy - 遵循官方规范的 Go 闭包模板(即 Soy 模板)。
  • bagme - 纯 Go 实现 HTML/CSS 到 PDF 渲染,具有 TeX 质量的排版。
  • gox - HTML 模板作为 Go 的一等表达式,并支持无缝的编辑器支持。
  • got - 受 Hero 和 Fasttemplate 启发的 Go 代码生成器。支持包含文件、自定义标签定义、注入 Go 代码、语言翻译等功能。
  • tbd - 一种使用占位符创建文本模板的非常简单的方法——暴露额外的内置 Git 仓库元数据。
  • liquidgo - Shopify Liquid 模板引擎的完整 Go 实现。
  • templator - Go 的类型安全 HTML 模板渲染引擎。
  • gomponents - 纯 Go 编写的 HTML 5 组件,看起来像这样:func(name string) g.Node { return Div(Class("headline"), g.Textf("Hi %v!", name)) }。
  • htmgo - 使用 go + htmx 构建简单且可扩展的系统。

Go 工具 ​

  • go-swagger - Go 语言的 Swagger 2.0 实现。Swagger 是 RESTful API 的一种简单而强大的表示方式。
  • go-callvis - 使用 dot 格式可视化你的 Go 程序调用图。
  • OctoLinker - 使用 GitHub 的 OctoLinker 浏览器扩展高效浏览 go 文件。
  • lensm - Go 汇编与源码查看器。
  • go-size-analyzer - 分析并可视化编译后的 Golang 二进制文件中依赖的大小,深入了解它们对最终构建的影响。
  • richgo - 用文本装饰丰富 go test 的输出。
  • govisual - 零配置、纯 Go 的 HTTP 请求可视化与调试器,用于本地 Go Web 开发。
  • MoniGO - 一个面向 Go 应用的性能监控库。它提供应用性能的实时洞察!🚀
  • rts - RTS:响应转结构体。从服务器响应生成 Go 结构体。
  • roumon - 通过命令行界面监控所有活跃 goroutine 的当前状态。
  • godbg - 实现 Rust 的 dbg! 宏,用于开发期间快速便捷的调试。
  • typex - 检查 Go 类型及其传递依赖,或者将结果导出为 TypeScript 值对象(或类型)声明。
  • gotestdox - 将 Go 测试结果以可读的句子形式展示。
  • gothanks - GoThanks 自动为你的 go.mod GitHub 依赖项加星标,以此向维护者表达感谢。
  • gotutor - 在线 Go 调试器与可视化工具。
  • igo - 一个 igo 到 go 的转译器(为 Go 语言带来新语言特性!)
  • docs - 为 GO 项目自动生成 RESTful API 文档——符合 Open API 规范标准。
  • gomodrun - Go 工具,用于执行并缓存 go.mod 文件中包含的二进制文件。
  • decouple - 查找可以用接口类型泛化的“过度指定”函数参数。
  • modver - 比较两个版本的 Go 模块,根据 semver 规则检查所需的版本号变更(主版本、次版本或补丁级别)。
  • textra - 提取 Go 结构体字段名、类型和标签,用于过滤和导出。
  • gofindimpl - 在代码库中查找实现给定 Go 接口的所有结构体。
  • go-template-playground - 用于创建和测试 Go 模板的交互式环境。
  • gotemplate.io - 在线工具,实时预览 text/template 模板。

机器学习 ​

机器学习库。

  • gorse - 用 Go 编写的基于协同过滤的离线推荐系统后端。
  • GoLearn - Go 通用机器学习库。
  • gorgonia - 基于图的计算库,类似 Theano,为 Go 提供构建各种机器学习和神经网络算法的原语。
  • gosseract - Go 的 OCR(光学字符识别)包,使用 Tesseract C++ 库。
  • m2cgen - 一个 CLI 工具,将训练好的经典机器学习模型转换为零依赖的原生 Go 代码,用 Python 编写并支持 Go 语言。
  • tfgo - 易于使用的 Tensorflow 绑定:简化官方 Tensorflow Go 绑定的使用。在 Go 中定义计算图,加载并执行 Python 训练的模型。
  • GoMLX - Go 加速机器学习框架。
  • goml - Go 中的在线机器学习。
  • onnx-go - Go 对开放神经网络交换(ONNX)的接口。
  • eaopt - 一个进化优化库。
  • bayesian - Golang 的朴素贝叶斯分类。
  • ocrserver - 一个简单的 OCR API 服务器,可通过 Docker 和 Heroku 轻松部署。
  • CloudForest - 纯 Go 编写的快速、灵活、多线程决策树集成机器学习库。
  • hugot - 基于 onnxruntime 的 golang Huggingface transformer 流水线。
  • gobrain - 用 Go 编写的神经网络。
  • go-deep - 功能丰富的 Go 神经网络库。
  • regommend - 推荐与协同过滤引擎。
  • Goptuna - 用 Go 编写的黑盒函数贝叶斯优化框架。一切将被优化。
  • goga - Go 遗传算法库。
  • goRecommend - 用 Go 编写的推荐算法库。
  • go-galib - 用 Go / golang 编写的遗传算法库。
  • shield - Go 的贝叶斯文本分类器,支持灵活的分词器和存储后端。
  • born - 受 Burn(Rust)启发的深度学习框架,支持自动求导、类型安全张量以及零 CGO GPU 加速。
  • go-fann - Go 对快速人工神经网络(FANN)库的绑定。
  • goscore - Go 的 PMML 评分 API。
  • GoMind - Go 中的简化神经网络库。
  • fonet - 用 Go 编写的深度神经网络库。
  • gonet - Go 神经网络。
  • libsvm - libsvm golang 版本,基于 LIBSVM 3.14 的衍生作品。
  • neural-go - Go 实现的多层感知机网络,通过反向传播进行训练。
  • go-pr - Go 语言模式识别包。
  • randomforest - 易于使用的 Go 随机森林库。
  • Varis - Golang 神经网络。
  • go-cluster - Go 实现的 k-modes 和 k-prototypes 聚类算法。
  • godist - 各种概率分布及相关方法。
  • ddt - 动态决策树,可创建自定义规则树。
  • Anneal - Go 中的机器学习编译器,从零移植 tinygrad,带有 WebGPU 后端。
  • evoli - 遗传算法与粒子群优化库。
  • catboost-cgo - 快速、可扩展、高性能的决策树梯度提升库。使用 Cgo 实现 Golang 对 CatBoost 模型的极速推理。
  • probab - 概率分布函数。贝叶斯推断。纯 Go 编写。
  • datatrax - 纯 Go 实现的数据工程与经典机器学习工具包,支持批处理、类型转换及 7 种算法,零依赖。

地理 ​

地理工具和服务器

  • Tile38 - 具有空间索引和实时地理围栏的地理位置数据库。
  • S2 geometry - Go 中的 S2 几何库。
  • mbtileserver - 一个基于 Go 的简单服务器,用于存储为 mbtiles 格式的地图瓦片。
  • geoos - 提供空间数据和几何算法的库。
  • osm - 用于读取、写入和处理 OpenStreetMap 数据及 API 的库。
  • H3 - H3 的 Go 绑定,H3 是一种分层六边形地理空间索引系统。
  • godal - GDAL 的 Go 封装。
  • simplefeatures - simplesfeatures 是一个 2D 几何库,提供模拟几何的 Go 类型以及对其进行操作的算法。
  • WGS84 - 坐标转换和变换库(ETRS89、OSGB36、NAD83、RGF93、Web Mercator、UTM)。
  • geoserver - geoserver 是一个 Go 包,用于通过 GeoServer REST API 操作 GeoServer 实例。
  • pbf - OpenStreetMap PBF golang 编码器/解码器。
  • gismanager - 将您的 GIS 数据(矢量数据)发布到 PostGIS 和 Geoserver。
  • S2 geojson - 将 geojson 转换为 s2 单元,并在地图上演示一些 S2 几何特性。
  • Web-Mercator-Projection - 一个项目,可轻松使用和转换 LonLat、Point 和 Tile,以使用 Web Mercator 投影在地图上显示信息、标记等。
  • H3 GeoJSON - H3 索引与 GeoJSON 之间的转换工具。
  • H3GeoDist - 通过虚拟节点分发 Uber H3geo 单元。
  • borders - 检测图像边界并转换为 GeoJSON 以用于 GIS 操作。
  • geo-engine-go - GeoEngine 的官方 Go SDK,提供高性能地理空间数据摄取,延迟低至个位数毫秒。

包管理 ​

依赖和包管理的官方工具

  • syft - 用于从容器镜像和文件系统生成软件物料清单(SBOM)的 CLI 工具和 Go 库。
  • gup - 更新由 "go install" 安装的二进制文件。
  • modup - Go 依赖更新的终端 UI,具有过时模块检测和选择性升级功能。
  • go modules - 模块是源代码交换和版本控制的单位。go 命令直接支持模块操作,包括记录和解析对其他模块的依赖。

物联网(IoT) ​

用于 IoT 设备编程的库。

  • gobot - Gobot 是一个用于机器人、物理计算和物联网的框架。
  • flogo - Project Flogo 是一个面向物联网边缘应用与集成的开源框架。
  • ekuiper - 面向物联网边缘的轻量级数据流处理引擎。
  • rulego - RuleGo 是一个轻量级、高性能、可嵌入、可编排的组件化规则引擎,专为物联网边缘设计。
  • shifu - 基于 Kubernetes 原生的物联网开发框架。
  • gatt - Gatt 是一个用于构建低功耗蓝牙外设的 Go 包。
  • connectordb - 用于量化自我与物联网的开源平台。
  • devices - 面向 IoT 设备的库套件,实验性,基于 x/exp/io。
  • huego - 一个功能全面的 Philips Hue 客户端库,使用 Go 编写。
  • sensorbee - 面向物联网的轻量级流处理引擎。
  • smart-home - 用于物联网自动化的软件包。
  • iot - IoT 是一个用于实现 Google IoT Core 设备的简单框架。
  • eywa - Project Eywa 本质上是一个连接管理器,用于跟踪已连接的设备。
  • periph - 外设 I/O 接口,用于与底层板级设施交互。

文件处理 ​

用于处理文件和文件系统的库。

  • pdfcpu - PDF 处理器。
  • afero - 面向 Go 的文件系统抽象系统。
  • gdu - 带控制台界面的磁盘用量分析工具。
  • go-wkhtmltopdf - 一个将 HTML 模板转换为 PDF 文件的包。
  • notify - 具有简单 API 的文件系统事件通知库,类似于 os/signal。
  • copy - 递归复制目录。
  • gofs - 开箱即用的跨平台实时文件同步工具。
  • afs - Go 的抽象文件存储(mem、scp、zip、tar、云:s3、gs)。
  • vfs - 一个可插拔、可扩展且固执己见的 Go 文件系统功能集,支持多种文件系统类型,如 os、S3 和 GCS。
  • go-exiftool - ExifTool 的 Go 绑定,ExifTool 是用于从文件(图片、PDF、Office 等)中提取尽可能多元数据(EXIF、IPTC 等)的知名库。
  • iso9660 - 用于读取和创建 ISO9660 磁盘映像的包。
  • fastwalk - 快速并行目录遍历库(由 fzf 使用)。
  • go-csv-tag - 使用标签加载 CSV 文件。
  • parquet - 读写 parquet 文件。
  • checksum - 计算大文件的消息摘要,如 MD5、SHA256、SHA1、CRC 或 BLAKE2s。
  • skywalker - 允许轻松并发遍历文件系统的包。
  • opc - 用于 Go 加载开放打包约定(OPC)文件。
  • gulter - 一个简单的 HTTP 中间件,自动处理所有文件上传需求。
  • baraka - 一个轻松处理 HTTP 文件上传的库。
  • gxpdf - 用于 Go 的现代全生命周期 PDF 库——解析、提取表格、生成和签署文档,零 CGO 依赖。
  • go-gtfs - 在 Go 中加载 GTFS 文件。
  • flop - 旨在与 GNU cp 功能对等的文件操作库。
  • gut/yos - 用于文件操作(如复制、移动、比较、列出文件、目录和符号链接)的简单可靠包。
  • higgs - 一个微小的跨平台 Go 库,用于隐藏/取消隐藏文件和目录。
  • todotxt - 用于 Gina Trapani 的 todo.txt 文件的 Go 库,支持解析和操作 todo.txt 格式 的任务列表。
  • go-decent-copy - 为人类设计的文件复制工具。
  • pathtype - 将路径视为独立类型,而不是使用字符串。
  • goflat - 上下文感知的通用平面文件编组器/解编组器。
  • gopdfrab - 用于 Go 的 PDF/A 处理。

数据集成框架 ​

用于执行 ELT / ETL 的框架

  • Benthos - 多种协议之间的消息流桥接。
  • CloudQuery - 一个具有可插拔架构的高性能 ELT 数据集成框架。
  • omniparser - 一个多功能的 ETL 库,以流式方式解析文本输入(CSV/txt/JSON/XML/EDI/X12/EDIFACT 等),并使用数据驱动的模式将数据转换为 JSON 输出。
  • confluence2md - Confluence 到 Markdown 的爬虫与转换器。

生成器 ​

用于生成 Go 代码的工具。

  • oapi-codegen - 该包包含一组工具,用于基于 OpenAPI 3.0 API 定义生成 Go 服务样板代码。
  • go-linq - Go 的 .NET LINQ 风格查询方法。
  • jennifer - 无需模板生成任意 Go 代码。
  • GoWrap - 使用简单模板为 Go 接口生成装饰器。
  • goderive - 从输入类型派生函数。
  • go-enum - 根据代码注释生成枚举代码。
  • goverter - 通过定义接口生成转换器。
  • interfaces - 用于生成接口定义的命令行工具。
  • copygen - 基于 Go 类型生成任意代码,包括默认无反射的类型到类型转换器(复制代码)。
  • apispec - 无需注解即可从 Go 代码生成 OpenAPI 3.1 规范,并提供浏览器 UI 用于配置、预览和探索调用图。
  • convergen - 功能丰富的类型到类型复制代码生成器。
  • generis - 提供泛型、自由形式宏、条件编译和 HTML 模板的代码生成工具。
  • go-apispec - 通过静态分析从 Go 源代码生成 OpenAPI 3.1 规范,并自动检测框架。
  • protoc-gen-httpgo - 从 protobuf 生成 HTTP 服务器和客户端。
  • typeregistry - 用于动态创建类型的库。
  • go-enum-encoding - 根据代码注释生成枚举编码代码。
  • protoc-gen-mcp - 从 Protocol Buffers 生成类型化的 MCP 工具、提示和资源。

科学与数据分析 ​

用于科学计算和数据分析的库。

  • gonum - Gonum 是一组用于 Go 编程语言的数值库,包含矩阵、统计、优化等库。
  • stats - 提供 Golang 标准库所缺失的常用函数的统计包。
  • gonum/plot - gonum/plot 提供了在 Go 中构建和绘制图形的 API。
  • gosl - Go 科学库,涵盖线性代数、FFT、几何、NURBS、数值方法、概率、优化、微分方程等。
  • streamtools - 用于处理数据流的通用图形化工具。
  • dataframe-go - 用于机器学习和统计的数据框(类似于 pandas)。
  • orb - 二维几何类型,支持裁剪、GeoJSON 和 Mapbox Vector Tile。
  • go-dsp - 用于 Go 的数字信号处理。
  • chart - 用于 Go 的简单图表绘制库,支持多种图形类型。
  • graph - 基础图算法库。
  • goraph - 纯 Go 图论库(数据结构、算法可视化)。
  • Poly - 一个用于工程生物学的 Go 包。
  • taxonkit - 实用高效的 NCBI 分类学工具包;支持查询谱系、重新格式化、过滤以及创建自定义 taxdump 文件。
  • ewma - 指数加权移动平均。
  • calendarheatmap - 受 Github 贡献活动启发的纯 Go 日历热图。
  • go-hep - 一组用于轻松执行高能物理分析的库和工具。
  • TextRank - Golang 实现的 TextRank,具有可扩展特性(摘要、加权、短语提取)并支持多线程(goroutine)。
  • sparse - 用于线性代数的 Go 稀疏矩阵格式,支持科学与机器学习应用,与 gonum 矩阵库兼容。
  • gograph - 一个 golang 泛型图库,提供数学图论和算法。
  • go-estimate - Go 中的状态估计和滤波算法。
  • pagerank - 用 Go 实现的加权 PageRank 算法。
  • jsonl-graph - 支持 graphviz 的 JSONL 图操作工具。
  • insyra - 数据分析库,支持统计、可视化、Parquet 和 Python 集成。
  • geom - Golang 的二维几何。
  • evaler - 简单的浮点算术表达式求值器。
  • decimal - decimal 包实现了任意精度的十进制浮点运算。
  • triangolatte - 二维三角剖分库。允许将线和多边形(均基于点)转换为 GPU 语言。
  • goent - 熵度量的 Go 实现。
  • hdf5 - 用于科学数据存储和交换的 HDF5 文件格式的纯 Go 实现。
  • piecewiselinear - 微型线性插值库。
  • simd - 原生 Go 向量与 SIMD 切片操作,支持多架构汇编加速。
  • godesim - 用于基于事件的模拟的扩展/多变量 ODE 求解器框架,具有简单的 API。
  • GoStats - GoStats 是一个开源的 GoLang 数学统计库,主要用于机器学习领域,覆盖了大多数统计度量函数。
  • ode - 常微分方程(ODE)求解器,支持扩展状态和基于通道的迭代停止条件。
  • PiHex - 实现十六进制数 Pi 的 "Bailey-Borwein-Plouffe" 算法。
  • topk - 基于 HeavyKeeper 算法的滑动窗口和常规 Top-K 草图。
  • bradleyterry - 提供用于成对比较的 Bradley-Terry 模型。
  • matlab - 纯 Go 库,无需 CGO 即可读写 MATLAB .mat 文件(v5-v7.3)。
  • rootfinding - 用于求解二次函数根的求根算法库。
  • go-gt - 用 Go 语言编写的图论算法。
  • MatProInterface.go - MatProInterface.go 是一个开源包,用于在 Go 中定义数学规划(例如凸优化问题)。
  • entitydebs - 一个社会科学工具,通过内置的依赖解析器以编程方式分析非虚构文本中的实体。
  • matrix - 一个干净、通用、零依赖的 Go 矩阵数学包,支持算术、分解和线性系统求解。

版本控制 ​

用于版本控制的库。

  • go-git - 纯 Go 编写的高度可扩展 Git 实现。
  • hercules - 从 Git 仓库历史中获取高级洞察。
  • git2go - libgit2 的 Go 绑定。
  • ggc - 一个 Git CLI 工具,具有传统命令行和交互式增量搜索界面、工作流支持以及可配置的键绑定。
  • githooks - 支持版本控制与自动更新的仓库级和共享 Git 钩子。
  • go-vcs - 在 Go 中操作和检查 VCS 仓库。
  • froggit-go - Froggit-Go 是一个 Go 库,允许对 VCS 提供商执行操作。
  • git-courer - 用于 Git 操作的本地 MCP 服务器,使用 Ollama 节省令牌并防止秘密泄露。
  • gitty - 单二进制 Git/GitHub CLI,用一条命令替代 add→commit→push;语法可读,无外部依赖。
  • hgo - Hgo 是一组 Go 包,提供对本地 Mercurial 仓库的读取访问。
  • cli - 一个开源的 GitLab 命令行工具,将 GitLab 的酷炫功能带到你的命令行中。

图像 ​

用于操作图像的库。

  • gocv - 基于 OpenCV 3.3+ 的计算机视觉 Go 包。
  • imaginary - 用于图像缩放的高速简单 HTTP 微服务。
  • imaging - 简单的 Go 图像处理包。
  • gg - 纯 Go 中的 2D 渲染。
  • gowitness - 通过命令行使用 Go 和 headless Chrome 对网页截图。
  • bild - 纯 Go 中的图像处理算法集合。
  • imagor - 使用 libvips 的快速、安全图像处理服务器和 Go 库。
  • ln - Go 中的 3D 线条艺术渲染。
  • bimg - 使用 libvips 进行快速高效图像处理的小型包。
  • picfit - 用 Go 编写的图像缩放服务器。
  • svgo - 用于 SVG 生成的 Go 语言库。
  • pt - 用 Go 编写的路径追踪引擎。
  • imagick - ImageMagick 的 MagickWand C API 的 Go 绑定。
  • smartcrop - 为任意图像和裁剪尺寸寻找最佳裁剪区域。
  • canvas - 矢量图形转 PDF、SVG 或光栅化图像。
  • gift - 图像处理滤镜包。
  • govips - Go 的极速图像处理与缩放库。
  • geopattern - 从字符串创建美丽的生成式图像图案。
  • stegify - Go 的 LSB 隐写工具,能够将任意文件隐藏在图像中。
  • image2ascii - 将图像转换为 ASCII。
  • go-qrcode - 生成个性化样式的二维码,可调整颜色、块大小、形状和图标。
  • goimagehash - Go 感知图像哈希包。
  • govatar - 用于生成趣味头像的库和命令行工具。
  • mort - 用 Go 编写的存储和图像处理服务器。
  • nativewebp - 零外部依赖的 Go 原生 WebP 编码器。
  • go-nude - 使用 Go 进行裸体检测。
  • steganography - 用于 LSB 隐写术的纯 Go 库。
  • go-webp - 使用 libwebp 对 WebP 图片进行编码和解码的库。
  • transformimgs - Transformimgs 使用下一代格式为 Web 调整和优化图像。
  • gltf - 高效且健壮的 glTF 2.0 读取器、写入器和验证器。
  • mergi - 用于图像操作(合并、裁剪、缩放、水印、动画)的工具和 Go 库。
  • darkroom - 具有可更改存储后端和图像处理引擎的图像代理,注重速度和弹性。
  • gogpu/gg - GPU 加速的 2D 渲染,提供类似 Canvas 的 API,零 CGO(属于 GoGPU 纯 Go 图形生态系统的一部分)。
  • img - 图像处理工具集。
  • go-cairo - cairo 图形库的 Go 绑定。
  • cameron - Go 的头像生成器。
  • color-extractor - 无外部依赖的主色提取器。
  • webp-server - 简单且极简的图像服务器,能够存储、缩放、转换和缓存图像。
  • gridder - 基于网格的 2D 图形库。
  • go-gd - GD 库的 Go 绑定。
  • goimghdr - Go 的 imghdr 模块,用于确定文件中的图像类型。
  • eagle-image-api - 使用 libvips 的图像优化和转换 API,可部署到 AWS Lambda 和 CloudFront。
  • scout - Scout 是一个独立的开源软件解决方案,用于 DIY 视频安全。
  • go-webcolors - 将 Python 的 webcolors 库移植到 Go。
  • mpo - MPO 3D 照片的解码和转换工具。

金融 ​

会计和财务包。

  • decimal - 任意精度定点十进制数。
  • ticker - 终端股票监视器和持仓跟踪器。
  • go-money - Fowler 货币模式的实现。
  • indicator - 技术分析库,提供金融指标、策略和回测框架。
  • bbgo - 用 Go 编写的加密货币交易机器人框架。包括常见加密货币交易所 API、标准指标、回测和许多内置策略。
  • ledger - 可编程金融账本,为资金流转应用提供基础。
  • accounting - 用于 Go 的货币和货币格式。
  • techan - 技术分析库,提供高级市场分析和交易策略。
  • currency - 处理货币金额,提供货币信息和格式化。
  • ach - 用于自动清算所(ACH)文件的读取器、写入器和验证器。
  • orderbook - Golang 实现的限价订单簿撮合引擎。
  • gobl - 发票和账单文档框架。基于 JSON Schema。自动化税务计算和验证,并提供转换为全球格式的工具。
  • decimal - 不可变十进制数,具有无 panic 的算术运算。
  • udecimal - 面向金融应用的高性能、高精度、零分配定点十进制库。
  • go-finance - 金融函数库,涵盖货币时间价值(年金)、现金流、利率转换、债券和折旧计算。
  • ofxgo - 查询 OFX 服务器和/或解析响应(附命令行客户端示例)。
  • transaction - 嵌入式事务性账户数据库,以多线程模式运行。
  • vat - 增值税号验证和欧盟增值税税率。
  • payme - SEPA 支付的二维码生成器(ASCII 和 PNG 格式)。
  • currency - 高性能且精确的货币计算包。
  • money - 不可变的货币金额和汇率,支持无 panic 的算术运算。
  • dec128 - 高性能 128 位定点十进制数。
  • fpmoney - 快速且简单的 ISO4217 定点十进制货币库。
  • fpdecimal - 用于小型定点十进制数的快速精确序列化和算术
  • go-finance - 用于获取汇率、通过 VIES 验证增值税号以及检查 IBAN 银行账号的模块。
  • okx-go - OKX v5 API 的 Go 客户端,包含 335 个 REST 端点、53 个 WebSocket 通道,支持泛型和自动重连。
  • bingx-go - BingX API v3 的 Go 客户端,包含 260 多个方法、USDT-M/Coin-M 期货、现货、TradFi、WebSocket 流和跟单交易。
  • orderbook - 可嵌入的限价订单簿和撮合引擎,具有整数精确价格、单写者核心和预写日志崩溃恢复功能。
  • telegram-wallet-go - Telegram Wallet Pay API 的 Go 客户端,支持 HMAC-SHA256 webhook 验证,以及 net/http、Gin 和 Echo 的中间件。
  • bybit-go - Bybit V5 API 的 Go 客户端,支持 HMAC/RSA 认证、WebSocket 流、模拟交易和 TradFi 工具。
  • glassnode-go - Glassnode 基础 API 的 Go 客户端,提供 25 个指标类别、类型化结构体、批量端点、时点数据,且零依赖。
  • bitget-go - Bitget UTA API v3 的 Go 客户端,具有类型化模型、基于字符串的价格、自动重连的 WebSocket 和模拟交易。
  • kucoin-go - KuCoin UTA 和经典 REST 与 WebSocket API 的 Go 客户端,支持 HMAC-SHA256 认证、字符串类型价格和类型化错误层级。
  • go-nowpayments - 加密货币 NOWPayments API 的库。
  • paystack-sdk-go - Paystack API 的全面、零依赖、完全类型化的 Go SDK。
  • cnn-fear-and-greed-parse - CNN 恐惧与贪婪指数的客户端,包含七个成分指标和约一年的每日历史数据。
  • decimal - 高性能 64 位十进制,部分兼容 shopspring/decimal 和 int64,包括 Weight 和 Length。
  • eu-vat-rates-data-go - 45 个欧洲国家的增值税税率和增值税号格式,编译时嵌入,每日从欧盟委员会 TEDB 刷新。
  • decimal - 固定大小、无分配的十进制类型,适用于不需要任意精度的场景。
  • swift - IBAN(国际银行账号)的离线有效性检查以及 BIC(部分国家)的检索。

任务调度器 ​

用于调度任务的库。

  • gocron - 简单流畅的 Go 任务调度。这是 jasonlvhit/gocron 的积极维护分支。
  • go-quartz - 简单、零依赖的 Go 调度库。
  • JobRunner - 智能且功能丰富的 cron 任务调度器,内置任务队列和实时监控。
  • gron - 使用简单的 Go API 定义基于时间的任务,Gron 的调度器将相应地运行它们。
  • gronx - Cron 表达式解析器、任务运行器和守护进程,消费类似 crontab 的任务列表。
  • goflow - 一个简单但功能强大的 DAG 调度器和仪表盘。
  • scheduler - Cron 任务调度变得简单。
  • tasks - 一个易于使用的 Go 进程内调度器,用于重复任务。
  • go-cron - 适用于 Go 的简单 Cron 库,可以以不同间隔执行闭包或函数,从每秒一次到特定日期时间的每年一次。主要用于 Web 应用和长时间运行的守护进程。
  • cheek - 一个类似 crontab 的简单调度器,旨在以 KISS 原则处理任务调度。
  • clockwerk - 使用简单流畅的语法调度周期性任务的 Go 包。
  • leprechaun - 支持 webhooks、cron 和经典调度的任务调度器。
  • RunWisp - 替代 cron 和 supervisord 的单二进制程序,保留每次运行的退出码和输出,并带有 Web UI 和 TUI。
  • ofelia - Docker 任务调度器(Docker 的 crontab);是 mcuadros/ofelia 的分支,增加了 Web UI、任务依赖、重试和任务持久化。
  • go-cron - Cron 任务调度器,支持运行时调度更新、每个条目的上下文、弹性中间件(重试、熔断、限流)以及可观测性钩子;是 robfig/cron 的继任者。
  • cdule - 支持数据库的任务调度库。
  • go-scheduler - 任务调度器,支持标准 cron 表达式、自定义描述符、间隔和任务依赖。
  • sched - 一个能够快进时间的任务调度器。
  • cronticker - 一个支持 cron 调度的 ticker 实现。
  • pending - 基于 ID 的去抖任务调度器,用于延迟任务,支持取消、优雅关闭和可选并发限制。
  • scheduler - Go 原生分布式任务调度器,支持延迟任务、基于 Redis 的批量协调、重试、基于租约的恢复和版本化队列分区。
  • go-job - 一个灵活且可扩展的 Go 任务调度与执行库。
  • tickstem/cron - 用于调度 HTTP cron 任务的 Go 客户端,具有执行历史、失败告警,以及用于在无真实凭据情况下测试处理程序的 tsk-local。
  • tickstem/heartbeat - Go 客户端,用于死机开关心跳监控:每次任务运行后 ping 一个 URL,如果 ping 停止到达,则通过电子邮件收到警报。

机器人构建 ​

用于构建和处理机器人的库。

  • telegram-bot-api - 简单干净的 Telegram 机器人客户端。
  • telebot - Telegram 机器人框架,用 Go 编写。
  • wayback - 一个用于 Telegram、Mastodon、Slack 和其他消息平台的机器人,可归档网页。
  • bot - 零依赖的 Telegram 机器人库,附带额外的 UI 组件。
  • telego - Golang 的 Telegram Bot API 库,完整实现了一对一的 API。
  • arikawa - Discord API 的库和框架。
  • echotron - 一个优雅且并发的 Go Telegram 机器人库。
  • go-twitch-irc - 用于编写 twitch.tv 聊天机器人的库。
  • go-sarah - 用于构建面向所需聊天服务(包括 LINE、Slack、Gitter 等)的机器人的框架。
  • slack-bot - 为懒惰开发者准备的即用型 Slack 机器人:自定义命令、Jenkins、Jira、Bitbucket、Github...
  • go-tg - 根据官方文档生成的 Go 客户端库,用于访问 Telegram Bot API,包含构建复杂机器人的内置功能。
  • slacker - 易于使用的框架,用于创建 Slack 机器人。
  • TG - Go 的 Telegram 机器人框架。
  • micha - Telegram Bot API 的 Go 库。
  • Wisp - Go 的事件驱动交易框架。支持现货、永续合约、预测市场。多交易所(Bybit、Hyperliquid、Polymarket)。
  • ymsdk - Yandex Messenger Bot API 的 Go SDK,具有类型安全模型、自动重试和速率限制处理。
  • teleflow - 简单、类型安全的 Telegram 机器人框架,具有流畅的流程和自动状态管理。
  • go-joe - 一个通用机器人库,灵感来自 Hubot,但用 Go 编写。

零信任 ​

用于实现零信任架构的库和工具。

  • Cosign - 在 OCI 注册表中进行容器签名、验证和存储。
  • OpenZiti - 一个完整的开源零信任覆盖网络。包括多种语言的众多 SDK,例如 golang,允许您将零信任原则直接嵌入到您的应用程序中。OpenZiti Test Kitchen 提供了许多示例供参考,包括一个零信任 SSH 客户端 - zssh。
  • Spire - SPIRE(SPIFFE 运行时环境)是一组 API 工具链,用于在各种托管平台上的软件系统之间建立信任。
  • in-toto - in-toto 的 Go 实现(提供了一个保护软件供应链完整性的框架)的 Python 参考实现。
  • Spiffe-Vault - 利用 Spiffe JWT 认证与 Hashicorp Vault 实现无密钥认证。

UUID ​

用于处理 UUID 的库。

  • uuid - 基于 RFC 4122 和 DCE 1.1 的 Go UUID 包:认证与安全服务。
  • ulid - ULID(通用唯一字典序可排序标识符)的 Go 实现。
  • xid - Xid 是一个全局唯一 ID 生成器库,可直接安全地用于服务器代码。
  • uuid - 通用唯一标识符(UUID)的实现。支持 UUID 的创建和解析。satori uuid 的积极维护分支。
  • wuid - 一个极快的全局唯一数字生成器。
  • sno - 紧凑、可排序且快速的唯一 ID,并嵌入元数据。
  • guid - 用于 Go 的快速加密安全 Guid 生成器(比 uuid 快约 10 倍)。
  • nanoid - 一个小巧高效的 Go 唯一字符串 ID 生成器。
  • goid - 生成并解析符合 RFC4122 的 V4 UUID。
  • nanoid - 高效、加密安全的生成器,用于快速并发创建 NanoID 和 UUID。
  • gouid - 仅需一次分配即可生成加密安全的随机字符串 ID。
  • uuid - 使用快速或加密质量的随机节点标识符生成、编码和解码 UUID v1。
  • uuidcheck - 一个轻量、无依赖的 Go 库,用于根据标准 RFC 4122 格式验证 UUID,并将 UUIDv7() 转换为 UTC 时间戳。
  • fastuuid - 快速生成字符串或字节形式的 UUIDv4。
  • uniq - 通过命令轻松生成安全、快速的唯一标识符。

Actor 模型 ​

用于构建基于 Actor 的程序的库。

  • ProtoActor - 用于 Go、C# 和 Java/Kotlin 的分布式 Actor。
  • Ergo - 基于 Actor 的框架,具有网络透明性,用于在 Golang 中创建事件驱动架构。灵感来自 Erlang。
  • Hollywood - 用 Golang 编写的极速轻量级 Actor 引擎。
  • Goakt - 使用 protocol buffers 作为消息的快速分布式 Actor 框架,适用于 Golang。
  • asyncmachine-go/pkg/machine - 图控制流库(AOP、Actor、状态机)。

Go 生成工具 ​

  • gotests - 从源代码生成 Go 测试。
  • xgen - XSD(XML Schema Definition)解析器和 Go/C/Java/Rust/TypeScript 代码生成器。
  • hasgo - 为你的切片生成受 Haskell 启发的函数。
  • gocontracts - 通过将代码与文档同步,为 Go 带来设计契约。
  • gonerics - Go 中的惯用泛型。
  • options-gen - Dave Cheney 的文章“友好 API 的函数式选项”中描述的函数式选项。
  • envdoc - 从 Go 源文件生成环境变量的文档。
  • gounit - 使用你自己的模板生成 Go 测试。
  • sqlgen - 从 SQL 文件或 DSN 生成 gorm、xorm、sqlx、bun、sql 代码。
  • generic - 灵活的 Go 数据类型。
  • godal - 通过指定 SQL DDL 文件生成对应的 golang ORM 模型,可用于 gorm。
  • oapixconstgen - 从 OpenAPI 规范的 x-constants 扩展生成类型化的 Go 常量。
  • re2dfa - 将正则表达式转换为有限状态机并输出 Go 源代码。
  • TOML-to-Go - 在浏览器中即时将 TOML 转换为 Go 类型。

日期与时间 ​

用于处理日期和时间的库。

  • carbon - 一个简单、语义化且对开发者友好的 Go 时间包。
  • now - Now 是 Go 的时间工具包。
  • dateparse - 无需预先知道格式即可解析日期。
  • carbon - 简单的 Time 扩展,包含大量实用方法,移植自 PHP Carbon 库。
  • durafmt - 用于 Go 的时间时长格式化库。
  • go-persian-calendar - Go(golang)中波斯(Solar Hijri)日历的实现。
  • gostradamus - 用于处理日期的 Go 包。
  • timeutil - golang 的 time 包的有用扩展(Timedelta、Strftime 等)。
  • go-sunrise - 计算给定位置的日出和日落时间。
  • iso8601 - 无需正则表达式即可高效解析 ISO8601 日期时间。
  • date - 增强 Time 以处理日期、日期范围、时间跨度、时间段和时刻。
  • go-str2duration - 将字符串转换为时长。支持 time.Duration 返回的字符串等。
  • timespan - 用于处理时间间隔,定义为开始时间和时长。
  • feiertage - 计算德国公共假日的函数集,包括针对德国各州(Bundesländer)的专门化。如复活节、圣灵降临节、感恩节等。
  • go-anytime - 无需预先知道格式即可解析类似“next dec 22nd at 3pm”的日期/时间和类似“from today until next thursday”的范围。
  • kair - 日期和时间 - Golang 格式化库。
  • timex - 一个扩展标准库 time 的 Go 包,提供专门的日期和时间类型。
  • approx - 支持解析和打印天、周、年时长的 Duration 扩展。
  • cronrange - 解析 Cron 风格的时间范围表达式,检查给定时间是否在任一范围内。
  • strftime - 兼容 C99 的 strftime 格式化器。
  • tuesday - 兼容 Ruby 的 Strftime 函数。
  • go-week - 处理 ISO8601 周日期的高效包。
  • go-date-fns - 受 date-fns 启发的 Go 综合日期工具库,包含 140 多个纯函数和不可变函数。
  • go-datebin - 一个简单的日期时间解析包。
  • go-faketime - 一个简单的 time.Now(),支持 faketime(1) 工具。

硬件 ​

用于与硬件交互的库、工具和教程。

  • arduino-cli - 官方 Arduino CLI 和库。可独立运行,也可集成到更大的 Go 项目中。
  • go-rpio - Go 的 GPIO,不需要 cgo。
  • ghw - Golang 硬件发现/检查库。
  • emgo - 用于嵌入式系统(如 STM32 MCU)编程的类 Go 语言。
  • sysinfo - 纯 Go 库,提供 Linux 操作系统 / 内核 / 硬件系统信息。
  • goroslib - Go 的 Robot Operating System(ROS)库。
  • go-osc - Go 的 Open Sound Control(OSC)绑定。
  • joystick - 用于读取所连接操纵杆状态的轮询 API。
  • moody - macOS 的硬件事件个性守护进程。监控 USB、充电器、盖子和其他硬件事件,并以可定制的个性进行响应。

工作流框架 ​

用于创建工作流的库。

  • Dagu - 无代码工作流执行器。它执行以简单 YAML 格式定义的 DAG。
  • go-taskflow - 类似 taskflow 的通用任务并行编程框架,内置可视化器和分析器。
  • Cadence-client - 一个用于编写工作流和活动的框架,运行在 Uber 制作的 Cadence 编排引擎之上。
  • workflow - 与技术栈无关的事件驱动工作流框架。
  • Flowbaker - 自托管执行引擎,用于构建、连接和自动化无代码工作流。
  • go-dag - 一个用 Go 开发的框架,管理由有向无环图描述的工作流的执行。
  • GopherFlow - 持久工作流引擎,内置 Web 控制台,支持 Postgres、MySQL 或 SQLite。
  • durable-go - 适用于单进程 Go 应用和 AI 代理的持久执行引擎,零依赖。

Gophers ​

自然语言处理 ​

用于处理人类语言的库。

  • go-i18n - 用于处理本地化文本的包及配套工具。
  • gse - Go 高效文本分词,支持英文、中文、日文等。
  • gojieba - 这是 jieba 的 Go 实现,一种中文分词算法。
  • spaGO - Go 中自包含的机器学习和自然语言处理库。
  • go-pinyin - 中文汉字转汉语拼音转换器。
  • lingua-go - 一个准确的自然语言检测库,适用于长文本和短文本。支持检测混合语言文本中的多种语言。
  • slug - 支持多语言的 URL 友好 slugify。
  • kagome - 纯 Go 编写的日语形态分析器。
  • whatlanggo - Go 的自然语言检测包。支持 84 种语言和 24 种文字(书写系统,如拉丁、西里尔等)。
  • gotext - Go 的 GNU gettext 工具。
  • nlp - 支持 LSA(潜在语义分析)的 Go 自然语言处理库。
  • sentences - 句子分词器:将文本转换为句子列表。
  • getlang - 快速自然语言检测包。
  • go-unidecode - Unicode 文本的 ASCII 转写。
  • RAKE.go - 快速自动关键词提取算法(RAKE)的 Go 移植。
  • go-slugify - 生成支持多种语言的漂亮 slug。
  • ctxi18n - 上下文感知的 i18n,具有简短简洁的 API、复数化、插值和 fs.FS 支持。YAML 区域设置定义基于 Rails i18n。
  • spreak - Go 的灵活翻译和人性化库,基于 gettext 背后的概念。
  • segment - 按照 Unicode 标准附录 #29 执行 Unicode 文本分割的 Go 库。
  • go-stem - Porter 词干提取算法的实现。
  • gounidecode - Go 的 Unicode 转写器(也称为 unidecode)。
  • textcat - Go 包,用于基于 n-gram 的文本分类,支持 utf-8 和原始文本。
  • MMSEGO - 这是 MMSEG 的 GO 实现,一种中文分词算法。
  • guesslanguage - 确定 Unicode 文本自然语言的函数。
  • go2vec - 用于 word2vec 嵌入的读取与实用函数。
  • stemmer - Go 编程语言的词干提取包,包含英语和德语词干提取器。
  • iuliia-go - 以所有可能的方式将西里尔字母转写为拉丁字母。
  • govader - VADER 情感分析 的 Go 实现。
  • porter2 - 极快的 Porter 2 词干提取器。
  • transliterator - 提供单向字符串转写,支持特定语言的转写规则。
  • snowball - Go 的 Snowball 词干提取器移植(cgo 封装),提供词干提取功能 Snowball 原生。
  • go-mystem - Yandex.Mystem(俄语形态分析器)的 CGo 绑定。
  • Slugify - 处理字符串的 Go slugify 应用。
  • paicehusk - Paice/Husk 词干提取算法的 Golang 实现。
  • detectlanguage - 语言检测 API Go 客户端。支持批量请求、短短语或单词的语言检测。
  • t - 另一个 golang 的 i18n 包,遵循 GNU gettext 风格并支持 .po/.mo 文件:t.T (gettext)、t.N (ngettext) 等。它还包含一个命令行工具 xtemplate,可以从文本/html 模板中提取消息为 pot 文件。
  • golibstemmer - snowball libstemmer 库的 Go 绑定,包括 porter 2。
  • gotokenizer - 基于词典和 Bigram 语言模型的 Golang 分词器。(目前仅支持中文分词)
  • enca - 用于 libenca 的最小 cgo 绑定,用于检测字符编码。
  • porter - 这是 Martin Porter 的 Porter 词干提取算法 C 实现的相当直接的移植。
  • libtextcat - libtextcat C 库的 Cgo 绑定,保证与 2.2 版本兼容。
  • shamoji - shamoji 是用 Go 编写的单词过滤包。
  • gosentiwordnet - 使用 Go 中的 sentiwordnet 词典进行情感分析。
  • go-words - Golang 项目的单词表和文本资源库。
  • govader-backend - GoVader 的微服务实现。
  • go-propisyu - 将数字转换为俄语单词,并正确处理语法性别和名词变格。
  • spelling-corrector - 西班牙语拼写纠正器,或创建你自己的。

函数式 ​

支持 Go 函数式编程的包。

  • mo - 基于 Go 1.18+ 泛型的 Monad 与流行 FP 抽象(Option、Result、Either 等)。
  • go-underscore - 实用的 Go 集合工具函数集合。
  • go-functional - 使用泛型在 Go 中进行函数式编程。
  • fpGo - 适用于 Golang 的 Monad 与函数式编程特性。
  • fp-go - 基于 Golang 1.18+ 泛型的函数式编程辅助工具集合。
  • FuncFrog - 函数式辅助库,为 Go1.18+ 的泛型切片提供 Map、Filter、Reduce 及其他流操作,支持惰性求值和错误处理机制。
  • gofp - 类似 lodash 的 Golang 强大工具库。
  • fuego - Go 中的函数式实验。
  • underscore - 面向 Go 1.18 及更高版本的函数式编程辅助工具。
  • g - Go 的函数式编程框架。
  • valor - 泛型 Option 和 Result 类型,可选地包含一个值。

错误处理 ​

用于处理错误的库。

  • go-multierror - Go(golang)包,用于将错误列表表示为单个错误。
  • errors - Go 错误库,支持通过网络进行错误可移植性。
  • eris - 在 Go 中处理、追踪和记录错误的更好方式。兼容标准错误库和 github.com/pkg/errors。
  • errorx - 功能丰富的错误包,包含堆栈跟踪、错误组合等功能。
  • multierr - 用于将错误列表表示为单个错误的包。
  • tracerr - 带有堆栈跟踪和源代码片段的 Golang 错误。
  • oops - 错误处理,支持上下文、堆栈跟踪和源代码片段。
  • errlog - 可定制的包,用于确定错误的来源代码(以及其他快速调试功能)。可随时插入任何日志记录器。
  • emperror - 面向 Go 库和应用程序的错误处理工具与最佳实践。
  • Fault - 一种符合人体工程学的错误包装机制,便于为错误值添加结构化元数据和上下文。
  • errors - 标准库 errors 包和 github.com/pkg/errors 的即插即用替代品。提供各种错误处理原语。
  • errors - 内置 Go 错误的直接替代品。这是一个极简的错误处理包,包含自定义错误类型、用户友好消息、Unwrap 和 Is。提供非常易用且直观的辅助函数。
  • exception - 用于在 Golang 中实现 try-catch 异常处理的简单实用包。
  • Falcon - 一个简单但功能强大的错误处理包。
  • errors - 最简单的错误包装器,性能卓越且内存开销极小。
  • errors - 简单的 Go 错误处理,带有分类原语。
  • metaerr - 一个库,用于创建自定义错误构建器,生成带有来自不同来源的元数据和可选堆栈跟踪的结构化错误。
  • go-bruh - 错误处理,支持堆栈跟踪、自定义格式和可观测性集成。
  • go-errr - 面向 Go 的错误处理库,具有 Catch/Recover 语义、包装错误链和堆栈跟踪。
  • ctxerrors - 使用每个调用点的文件、行号和函数名包装错误。
  • errors - 提供带有堆栈跟踪和可选结构化细节的错误。兼容 github.com/pkg/errors API,但内部不使用它。

流处理 ​

用于流处理和响应式编程的库和工具。

  • go-streams - Go 流处理库。
  • ro - 响应式编程:面向事件驱动应用的声明式和可组合 API。
  • go-etl - 一个轻量级的数据源提取、转换和加载(ETL)工具包。
  • gostream - 受 Java Streams API 启发的类型安全流处理库。
  • machine - 用于编写和生成流处理工作器的 Go 库,内置指标和可追溯性。
  • stream - Go Stream,类似 Java 8 Stream:Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce...
  • goio - Golang 的 IO、Stream、Fiber 实现,灵感来自优秀的 Scala 库 cats 和 fs2。
  • StreamSQL - 一个用于实时数据处理的轻量级流式 SQL 引擎。
  • signals - 受 Angular Signals 启发的类型安全响应式状态管理,支持计算值、效果和依赖跟踪。
  • nibbler - 一个用于微批处理的轻量级包。

视频 ​

用于操作视频的库。

  • goav - FFmpeg 的全面 Go 绑定。
  • gortsplib - 纯 Go 的 RTSP 服务器和客户端库。
  • gmf - FFmpeg av* 库的 Go 绑定。
  • go-astiav - Go 中更好的 FFmpeg C 绑定。
  • go-astisub - 在 Go 中操作字幕(.srt、.stl、.ttml、.webvtt、.ssa/.ass、图文电视、.smi 等)。
  • mp4ff - 用于处理包含视频、音频、字幕或元数据的 MP4 文件的库和工具。
  • go-astits - 在 Go 中原生解析和解复用 MPEG 传输流(.ts)。
  • libvlc-go - libvlc 2.X/3.X/4.X 的 Go 绑定(由 VLC 媒体播放器使用)。
  • v4l - 用 Go 编写的 Linux 视频捕获库。
  • hls-m3u8 - HLS(M3U8)播放列表的解析器和生成器;紧跟规范更新。
  • onvif-go - 用于 IP 摄像头的 ONVIF 客户端、WS-Discovery 和虚拟摄像头服务器。
  • mpeg-ts-analyzer - MPEG-2 传输流分析器,检查 PCR 时序合规性并转储底层 TS、PSI 和 PES 结构。
  • go-mpd - MPEG-DASH 清单文件的解析器和生成器库。
  • mosaic - 面向 Go 的可预测、生产就绪的自适应码率(ABR)视频打包(HLS 与 DASH CMAF)。
  • manifestor - 零依赖库,用于解析、过滤、转换和构建 HLS 与 DASH 清单。
  • rtspeek - 用于探测 RTSP 流并报告可达性、延迟、编解码器和分辨率的库和 CLI。

基准测试 ​

音频与音乐 ​

用于操作音频和音乐的库。

  • Oto - 一个用于在多个平台上播放声音的低级库。
  • PortAudio - PortAudio 音频 I/O 库的 Go 绑定。
  • beep - 一个用于播放和音频操作的简单库。
  • music-theory - Go 中的音乐理论模型。
  • GoAudio - 原生 Go 音频处理库。
  • malgo - 迷你音频库。
  • id3v2 - Go 的 ID3 解码和编码库。
  • flac - 原生 Go FLAC 编码器/解码器,支持 FLAC 流。
  • gaad - 原生 Go AAC 比特流解析器。
  • minimp3 - 轻量级 MP3 解码器库。
  • gosamplerate - libsamplerate 的 Go 绑定。
  • go-mpris - 用于 mpris dbus 接口的客户端。
  • go-audio-resampler - 纯 Go 高质量音频重采样器,支持 SIMD 加速。
  • go-aac - 从 FFmpeg 移植的纯 Go AAC-LC 编码器和解码器。
  • go-wav - 纯 Go WAV/RIFF 读写器,支持大于 4 GiB 文件的 RF64 和 BW64 格式。
  • voxrai-ai - AI 语音代理,采用 JSON 配置,通过 WebSocket 和 WebRTC 实现 STT → LLM → TTS 管道。
  • go-flac - 原生 Go FLAC 编码器和解码器,支持 SIMD 加速。
  • go-opus - Opus 音频编解码器(RFC 6716)的原生 Go 实现,包含符合 RFC 的解码器。
  • gocue - 音频分析 CLI,可检测入点、出点和叠加点,并测量 EBU R128 响度,为 Liquidsoap 输出 JSON。
  • go-resample - 纯 Go(无 cgo)音频采样率转换器,支持 sinc、线性和零阶保持转换器。

动态 DNS ​

用于更新动态 DNS 记录的工具。

  • GoDNS - 一个动态 DNS 客户端工具,支持 DNSPod 和 HE.net,使用 Go 编写。
  • DDNS - 个人 DDNS 客户端,以 Digital Ocean Networking DNS 作为后端。
  • dyndns - 后台 Go 进程,定期自动检查你的 IP 地址,并在地址变化时更新 Google 域名的(一个或多个)动态 DNS 记录。

表单 ​

用于处理表单的库。

  • nosurf - Go 的 CSRF 保护中间件。
  • gorilla/csrf - Go Web 应用和服务的 CSRF 保护。
  • form - 将 url.Values 解码为 Go 值,并将 Go 值编码为 url.Values。支持双数组和完整映射。
  • httpin - 将 HTTP 请求解码为自定义结构体,包括查询字符串、表单、HTTP 头等。
  • conform - 控制用户输入。根据结构体标签修剪、清理和擦除数据。
  • formam - 将表单值解码为结构体。
  • forms - 与框架无关的表单/JSON 数据解析和验证库,支持多部分表单和文件。
  • qs - 将结构体编码为 URL 查询参数的 Go 模块。
  • bind - 将表单数据绑定到任意 Go 值。
  • queryparam - 将 url.Values 解码为标准或自定义类型的可用结构体值。
  • gbind - 将数据绑定到任意 Go 值。可使用内置和自定义表达式绑定功能;支持数据验证。
  • roamer - 通过使用简单标签,将 cookie、请求头、查询参数、路径参数、请求体等绑定到结构体,消除解析 HTTP 请求的样板代码。

OpenGL ​

在 Go 中使用 OpenGL 的库。

  • glfw - Go 语言的 GLFW 3 绑定。
  • gl - Go 语言的 OpenGL 绑定(通过 glow 生成)。
  • mathgl - 纯 Go 数学包,专用于 3D 数学,灵感来自 GLM。
  • goxjs/gl - Go 跨平台 OpenGL 绑定(OS X、Linux、Windows、浏览器、iOS、Android)。
  • goxjs/glfw - Go 跨平台 glfw 库,用于创建 OpenGL 上下文并接收事件。
  • go-glmatrix - Go 语言移植的 glMatrix 库。

Windows ​

  • go-ole - 用于 golang 的 Win32 OLE 实现。
  • d3d9 - Direct3D9 的 Go 绑定。
  • windowsupdate - 使用 go-ole 的 Windows Update Agent API 的 Golang 绑定。
  • gosddl - 将 SDDL 字符串转换为用户友好的 JSON。SDDL 由四部分组成:所有者、主组、DACL、SACL。

资源嵌入 ​

  • vfsgen - 生成一个静态实现给定虚拟文件系统的 vfsdata.go 文件。
  • debme - 从现有的 embed.FS 子目录创建一个 embed.FS。
  • rebed - 从 Go 1.16 的 embed.FS 类型重建文件夹结构和文件。
  • embed - embed 包提供对运行中的 Go 程序中嵌入文件的访问。

XML ​

用于操作 XML 的库和工具。

  • zek - 从 XML 生成 Go 结构体。
  • xpath - Go 的 XPath 包。
  • xmlquery - xmlquery 是用于 XML 查询的 Golang XPath 包。
  • xml2map - 用 Golang 编写的 XML 到 MAP 转换器。
  • xmlwriter - 基于 libxml2 的 xmlwriter 模块的过程式 XML 生成 API。
  • XML-Comp - 简单的命令行 XML 比较器,可生成文件夹、文件和标签的差异。

反射 ​

  • Deepcopier - Go 的简单结构体复制。
  • go-deepcopy - 快速深拷贝库。
  • gotype - Golang 源码解析,用法类似 reflect 包。
  • copy - 用于快速复制不同类型结构体的包。
  • gpath - 通过反射中的 Go 表达式简化结构体字段访问的库。
  • goenum - 基于泛型和反射的通用枚举结构体,可快速定义枚举并使用一组有用的默认方法。
  • reflectutils - 处理反射的辅助工具:结构体标签解析;递归遍历;从字符串填充值。
  • reflectpro - Go 的调用器、复制器、获取器和设置器。
  • objwalker - 通过反射遍历 Go 对象。

CSS 预处理器 ​

用于预处理 CSS 文件的库。

  • go-libsass - 用于 100% 兼容 Sass 的 libsass 项目的 Go 封装。
  • go-css - 一个非常简单的 CSS 解析器,用 Go 编写。

会议 ​

鄂公网安备:42011202001971号      鄂ICP备:2021009343号