Excel
  • excelize: 提供了一组允许您写入和读取XLSX / XLSM / XLTM文件的功能
日期
  • carbon: 一个轻量级、语义化、对开发者友好的 golang 时间处理库
GUI
  • ui: Go 的平台原生跨平台 GUI 库
  • govcl: 跨平台的一个原生GUI库
  • walk: 适用于 Go 的 Windows 应用程序库工具包。
服务管理
  • overseer: 一个用于在 Go (golang) 中创建可监控、正常重启、自我升级二进制文件的包。
框架
  • Gin: 是一个用 Go 编写的 Web 框架!它具有类似马提尼酒的 API,性能更好,速度提高了 40 倍。如果您需要性能和良好的生产力。
  • ent: 一个简单但功能强大的 Go 实体框架,可以轻松构建 并维护具有大型数据模型的应用程序。
域名
  • whois(likexian): Whois 是一个简单的 Go 模块,用于域名和 ip whois 信息查询。
高级控制台 UI
  • asciigraph: Go 包,用于在命令行应用程序中制作轻量级 ASCII 折线图 ╭┈╯,没有其他依赖项.
  • aurora: 支持 fmt 的 ANSI 终端颜色。printf/sprintf。
  • box-cli-maker: 为您的 CLI 制作高度定制的盒子.
  • bubble-table: 珍珠奶茶的交互式表格组件.
  • bubbles: 珍珠奶茶的 TUI 组件。
  • bubbletea: 基于 The Elm 架构构建终端应用程序的 Go 框架.
  • cfmt: 受引导颜色类启发的上下文 fmt.
  • cfmt: 简单方便的格式化风格化输出,与 fmt 库完全兼容。
  • chalk: 用于美化终端/控制台输出的直观软件包。
  • colourize: 终端中 ANSI 彩色文本的 Go 库.
  • crab-config-files-templating: 用于 kubernetes 清单或常规配置文件的动态配置文件模板化工具.
  • ctc: 非侵入式跨平台终端颜色库,无需修改 Print 方法。
  • go-ataman: 用于在终端中呈现 ANSI 彩色文本模板的 Go 库.
  • go-colorable: 适用于 Windows 的可着色编写器.
  • go-colortext: 用于在终端中输出颜色的 Go 库.
  • go-isatty: golang 的 isatty.
  • go-palette: 使用 ANSI 颜色提供优雅方便的样式定义的 Go 库.完全兼容并包装了 fmt 库,以实现漂亮的终端布局。
  • go-prompt: 受 python-prompt-toolkit 启发,用于构建强大的交互式提示的库.
  • gocui: 旨在创建控制台用户界面的极简 Go 库.
  • gommon/color: 设置终端文本的样式。
  • gookit/color: 终端显色工具库,支持16色、256色,RGB显色输出,兼容Windows。
  • lipgloss: 在终端中以声明方式定义颜色、格式和布局的样式。
  • marker: 匹配和标记字符串以获得彩色终端输出的最简单方法。
  • mpb: 终端应用程序的多进度条。
  • progressbar: 适用于每个操作系统的基本线程安全进度条.
  • pterm: 一个库,用于美化每个平台上的控制台输出,具有许多可组合的组件.
  • simpletable: 使用 Go 在终端中的简单表.
  • spinner: Go 包,可轻松为终端微调器提供选项。
  • tabby: 一个用于超级简单的 Golang 表的小型库.
  • table: 基于终端颜色的表的小型库.
  • 表格: 从命令行实用程序打印 ASCII 表,而无需将大量数据传递给 API。
  • termbox-go: Termbox 是一个用于创建跨平台基于文本的界面的库.
  • termdash: 基于 termbox-go 并受 termui 启发的 Go 终端仪表板.
  • termenv: 为您的终端应用程序提供高级ANSI样式和颜色支持.
  • termui: 基于 termbox-go 并受 blessed-contrib 启发的 Go 终端仪表板.
  • uilive: 用于实时更新终端输出的库。
  • uiprogress: 灵活的库,用于在终端应用程序中呈现进度条.
  • uitable: 库,用于使用表格数据提高终端应用程序中的可读性.
  • yacspin: 另一个 CLi 微调器包,用于与终端微调器一起使用。
验证
  • checkdigit: 提供校验位算法(Luhn、Verhoeff、Damm)和计算器(ISBN、EAN、JAN、UPC等)。
  • gody: 🎈 Go 的轻量级结构验证器.
  • govalid: 基于标记的结构的快速验证.
  • govalidator: 字符串、数字、切片和结构的验证器和清理器.
  • govalidator: 使用简单的规则验证 Golang 请求数据.深受 Laravel 请求验证的启发。
  • Jio - Jio: 是一个类似于 JOI 的 JSON 模式验证器.
  • ozzo-validation: 支持各种数据类型(结构、字符串、映射、切片等)的验证,并在通常的代码构造中指定可配置和可扩展的验证规则,而不是结构标记。
  • validate: 用于数据验证和过滤的 Go 包。支持 validate Map, Struct, Request(Form, JSON, url.值、上传的文件)数据和更多功能。
  • validate: 此包提供了一个框架,用于为 Go 应用程序编写验证。
  • validator: Go Struct 和 Field 验证,包括 Cross Field、Cross Struct、Map、Slice 和 Array diving.
  • Validator: 用 Go 编写的轻量级模型验证器,包含 VFs:Min、Max、MinLength、MaxLength、Length、Enum、Regex.
  • 瓦利克斯: 用于验证请求的 Go 包
音频处理
  • flac: 支持 FLAC 流的原生 Go FLAC 编码器/解码器.
  • gaad: Native Go AAC 比特流解析器.
  • GoAudio: 本机Go音频处理库.
  • gosampleRate: Go 的 libSampleRate 绑定。
  • id3v2: Go 的 ID3 解码和编码库.
  • malgo: 迷你音频库.
  • minimp3: 轻量级 MP3 解码器库.
  • Oto: 一个在多个平台上播放声音的低级库。
  • PortAudio - PortAudio: 音频 I/O 库的 Go 绑定。
音译
  • enca: libenca 的最小 cgo 绑定,用于检测字符编码.
  • go-unidecode - Unicode: 文本的 ASCII 音译.
  • gounidecode: Go 的 Unicode 音译器(也称为 unidecode)。
  • 音译器: 提供单向字符串音译,支持特定于语言的音译规则。
  • dsu: Go 中的脱节集合数据结构实现。
  • golang-set: Go 的线程安全和非线程安全高性能集.
  • goset: Go 的有用 Set 集合实现。
  • set: 使用 LinkedHashMap 在 Go 中实现简单的集合数据结构。
队列
  • deque: 高度优化的双端队列。
  • deque: 快速环形缓冲区 deque(双端队列)。
  • goconcurrentqueue: 并发 FIFO 队列。
  • memlog: 受 Apache Kafka 启发的易于使用、轻量级、线程安全且仅追加的内存数据结构.
  • queue: Go 的多个线程安全通用队列实现。
错误处理
  • emperror: Go 库和应用程序的错误处理工具和最佳实践.
  • eris: 在 Go 中处理、跟踪和记录错误的更好方法。与标准错误库和 github.com/pkg/errors 兼容。
  • errlog: 可破解的软件包,用于确定错误的源代码(以及其他一些快速调试功能).可就地插入任何记录器。
  • errors: 标准库错误包和 github.com/pkg/errors 的直接替换。提供各种错误处理基元。
  • errors: 使用分类原语进行简单的golang错误处理.
  • errors: 最简单的错误包装器,具有出色的性能和最小的内存开销。
  • errors: 内置 Go 错误的直接替换。这是一个最小的错误处理包,具有自定义错误类型、用户友好的消息、Unwrap & Is。具有非常易于使用和直接的辅助功能。
  • errors: Go 错误库,可通过网络进行错误移植。
  • errorx: 功能丰富的错误包,包含堆栈跟踪、错误组合等。
  • exception: 一个简单的实用程序包,用于在 Golang 中使用 try-catch 进行异常处理。
  • Falcon: 一个简单但功能强大的错误处理包。
  • Fault: 一种符合人体工程学的包装错误机制,以便为错误值提供结构化元数据和上下文。
  • go-multierror: Go (golang) 包,用于将错误列表表示为单个错误.
  • oops: 使用上下文、堆栈跟踪和源片段进行错误处理。
  • tracerr: 堆栈跟踪和源片段的 Golang 错误。
配置
  • aconfig: 简单、有用且自以为是的配置加载器.
  • cleanenv: 简约的配置读取器(来自文件,ENV和任何您想要的地方).
  • config: 云原生应用程序配置。仅将 ENV 绑定到两行结构。
  • 配置: 在两行代码中使用文件、环境变量或标志配置应用
  • config: 具有环境变量和标志解析的 JSON 或 YAML 配置包装器。
  • configuration: 用于从 env 变量、文件、标志和“default”标签初始化配置结构的库.
  • configure: 通过多个源提供配置,包括 JSON、标志和环境变量。
  • configuro: 来自ENV和文件的自以为是的配置加载和验证框架,专注于12因素兼容的应用程序.
  • confita: 将配置从多个后端级联加载到一个结构中.
  • conflate: 库/工具,用于合并来自任意URL的多个JSON/YAML / TOML文件,针对JSON模式进行验证,以及应用架构中定义的默认值.
  • env: 将环境变量解析为 Go 结构(使用默认值)。
  • env: 用于将环境变量加载到结构中的轻量级包。
  • envcfg: 将环境变量解封为 Go 结构。
  • envconf: 从环境进行配置。
  • envconfig: 从环境变量中读取配置。
  • envh: 用于管理环境变量的帮助程序。
  • fig: 用于从文件和环境变量中读取配置的微型库(带有验证和默认值)。
  • gcfg: 将 INI 样式的配置文件读入 Go 结构体;支持用户定义的类型和小节。
  • genv: 通过 dotenv 支持轻松读取环境变量.
  • go-aws-ssm: 从 AWS System Manager - Parameter Store 获取参数的 Go 程序包。
  • go-conf: 基于带注释结构的应用程序配置的简单库.它支持从环境变量、配置文件和命令行参数中读取配置。
  • go-ini: 封送和解封 INI 文件的 Go 包.
  • go-ssm-config: 用于从 AWS SSM(Parameter Store)加载配置参数的 Go 实用程序。
  • go-up: 一个简单的配置库,具有递归占位符分辨率,没有魔法.
  • goConfig: 将结构解析为输入,并使用命令行、环境变量和配置文件中的参数填充此结构的字段。
  • godotenv: Ruby 的 dotenv 库的 Go 端口(从 加载环境变量)。.env
  • gofigure: Go 应用程序配置变得简单。
  • GoLobby/Config - GoLobby Config: 是 Go 编程语言的轻量级但功能强大的配置管理器.
  • gone/jconf: 模块化 JSON 配置.保留配置结构及其配置的代码,并将解析委托给子模块,而不会牺牲完整的配置序列化。
  • gonfig: 基于标签的配置解析器,它将来自不同提供程序的值加载到类型安全结构中.
  • gookit/config: 应用程序配置管理(load,get,set)。支持 JSON、YAML、TOML、INI、HCL。多文件加载,数据覆盖合并。
  • harvester - Harvester: ,一个易于使用的静态和动态配置包,支持播种、环境变量和 Consul 集成。
  • hjson: 人类JSON,人类的配置文件格式.宽松的语法,更少的错误,更多的注释。
  • hocon: 用于处理HOCON(一种人性化的JSON超集)格式的配置库,支持环境变量,引用其他值,注释和多个文件等功能.
  • ingo: 标志保留在类似 ini 的配置文件中。
  • ini: 用于读取和写入 INI 文件的 Go 包。
  • ini: INI 解析器和写入库,解编组到结构,编组到 Json,写入文件,监视文件.
  • joshbetz/config: Go 的小型配置库,可解析环境变量、JSON 文件并在 SIGHUP 上自动重新加载.
  • kelseyhightower/envconfig: 用于管理环境变量配置数据的 Go 库.
  • koanf: 轻量级、可扩展的库,用于读取 Go 应用程序中的配置.内置对 JSON、TOML、YAML、env、命令行的支持。
  • konfig: 分布式处理时代的 Go 的可组合、可观察和高性能配置处理.
  • kong: 命令行解析器,支持任意复杂的命令行结构和其他配置源,例如YAML,JSON,TOML等(successor )。kingpin
  • mini: 用于解析 ini 样式配置文件的 Golang 包.
  • nasermirzaei89/env: 用于读取环境变量的简单有用的包。
  • nfigure: 来自命令行的基于每个库结构标签的配置(Posix 和 Go 风格);环境、JSON、YAML
  • onion: Go 的基于层的配置,支持 JSON、TOML、YAML、属性、etcd、env 和使用 PGP 的加密。
  • piper: 具有配置继承和密钥生成的Viper包装器.
  • store: Go 的轻量级配置管理器。
  • swap: 根据构建环境以递归方式实例化/配置结构。(YAML、TOML、JSON 和 env)。
  • typenv: 简约,零依赖,类型化的环境变量库.
  • uConfig: 轻量级、零依赖和可扩展的配置管理。
  • viper: 用獠牙进行配置。
  • xdg: XDG 基本目录规范和 XDG 用户目录的 Go 实现。
  • xdg: 遵循 XDG 标准的跨平台包。
迭代器
  • goterator: 迭代器实现,以提供map和reduce功能.
  • iter: C++ STL 迭代器和算法的 Go 实现。
身份验证和 OAuth
  • authboss: 用于Web的模块化身份验证系统.它试图尽可能多地删除样板和“困难的东西”,以便每次在 Go 中启动新的 Web 项目时,您都可以插入、配置它并开始构建您的应用程序,而无需每次都构建身份验证系统。
  • branca: Golang 1.15+ 的 branca 代币规范实现.
  • casbin: 支持ACL,RBAC和ABAC等访问控制模型的授权库.
  • cookiestxt: 提供 cookie.txt 文件格式的解析器。
  • go-guardian: Go-Guardian 是一个 golang 库,它提供了一种简单、干净和惯用的方式来创建强大的现代 API 和 Web 身份验证,支持 LDAP、基本、持有者令牌和基于证书的身份验证.
  • go-jose -: JOSE工作组的JSON Web令牌,JSON Web签名和JSON Web加密规范的相当完整的实现.
  • gologin: 用于使用 OAuth1 和 OAuth2 身份验证提供程序登录的可链接处理程序。
  • gorbac: 在 Golang 中提供轻量级的基于角色的访问控制 (RBAC) 实现。
  • gosession: 这是 GoLang 中 net/http 的快速会话。这个包也许是会话机制的最佳实现,或者至少它试图成为一个会话机制。
  • goth: 提供了一种简单、干净且惯用的 OAuth 和 OAuth2 使用方式。开箱即用地处理多个提供程序。
  • jeff: 具有可插拔后端的简单,灵活,安全且惯用的Web会话管理.
  • jwt: 轻量级JSON Web令牌(JWT)库.
  • jwt: 用于 Go 的安全、简单和快速的 JSON Web 令牌.
  • jwt-auth: Golang http 服务器的 JWT 中间件,具有许多配置选项.
  • jwt-go: JSON Web令牌(JWT)的全功能实现.该库支持 JWT 的解析和验证以及生成和签名。
  • keto: “桑给巴尔:Google一致的全球授权系统”的开源(Go)实现。提供 gRPC、REST API、NEWSQL 和简单精细的权限语言。支持ACL、RBAC等多种接入模式。
  • loginsrv: 具有可插拔后端的 JWT 登录微服务,例如 OAuth2 (Github)、htpasswd、osiam.
  • oauth2: goauth2 的后继者。通用 OAuth 2.0 软件包,附带 JWT、Google API、Compute Engine 和 App Engine 支持。
  • osin: Golang OAuth2 服务器库.
  • otpgen: 用于生成TOTP / HOTP代码的库.
  • otpgo: 基于时间的一次性密码(TOTP)和基于HMAC的Go一次性密码(HOTP)库.
  • paseto: 与平台无关的安全令牌(PASETO)的Golang实现.
  • permissions2: 用于跟踪用户、登录状态和权限的库。使用安全 cookie 和 bcrypt。
  • scope: 在 Go 中轻松管理 OAuth2 范围。
  • scs: HTTP 服务器的会话管理器。
  • securecookie: 高效的安全 cookie 编码/解码。
  • session: Web 服务器的 Go 会话管理(包括对 Google App Engine - GAE 的支持)。
  • sessions: 用于 go http 服务器的简单、高性能、高度可定制的会话服务.
  • sessionup: 简单而有效的HTTP会话管理和识别包.
  • sjwt: 简单的 jwt 生成器和解析器.
路由器
  • alien: 来自外太空的轻量级快速 http 路由器.
  • bellt: 一个简单的 Go HTTP 路由器。
  • Bone: 闪电般的HTTP多路复用器.
  • Bxog: 用于Go的简单快速的HTTP路由器.它适用于不同难度、长度和嵌套的路线。他知道如何从收到的参数创建 URL。
  • chi: 基于网络/上下文构建的小型、快速且富有表现力的 HTTP 路由器.
  • fasthttprouter: 从 .第一款适合 .httprouterfasthttp
  • FastRouter: 用 Go 编写的快速、灵活的 HTTP 路由器。
  • goblin: 基于 trie tree 的 golang http 路由器。
  • gocraft/web: Go 中的多路复用器和中间件包.
  • Goji - Goji: 是一个简约而灵活的 HTTP 请求多路复用器,支持 .net/context
  • GoLobby/Router - GoLobby Router: 是一个轻量级但功能强大的 HTTP 路由器,用于 Go 编程语言.
  • goroute: 简单而强大的 HTTP 请求多路复用器.
  • GoRouter - GoRouter: 是一个服务器/API 微框架、HTTP 请求路由器、多路复用器、多路复用器,为请求路由器提供中间件支持.net/context
  • gowww/router: 闪电般快速的 HTTP 路由器,与 net/http 完全兼容.处理程序接口。
  • httprouter: 高性能路由器。使用此和标准 http 处理程序来形成一个非常高性能的 Web 框架。
  • httptreemux: 用于Go的高速,灵活的基于树的HTTP路由器.灵感来自 httprouter。
  • lars: 是一个轻量级、快速且可扩展的 Go 零分配 HTTP 路由器,用于创建可自定义的框架.
  • mux: 强大的 URL 路由器和 golang 调度器.
  • nchi: 基于 httprouter 构建的类似 chi 的路由器,带有基于依赖注入的中间件包装器
  • ngamux: Go的简单HTTP路由器.
  • ozzo-routing: 一个极快的 Go (golang) HTTP 路由器,支持正则表达式路由匹配.完全支持构建 RESTful API。
  • pure: 是一个轻量级的 HTTP 路由器,坚持 std “net/http” 实现.
  • Siesta: 用于编写中间件和处理程序的可组合框架.
  • vestigo: 用于go Web应用程序的高性能,独立,符合HTTP标准的URL路由器.
  • violetear: Go HTTP 路由器。
  • xmux: 基于支持的高性能多路复用器.httprouternet/context
  • xujiajun/gorouter: 一个简单快速的 Go HTTP 路由器.
资源嵌入
  • debme: 从现有子目录创建一个。embed.FSembed.FS
  • esc: 将文件嵌入到 Go 程序中并提供 http.FileSystem 接口。
  • fileb0x: 在 go 中嵌入文件的简单工具,专注于“自定义”和易用性.
  • go-resources: 使用 Go 嵌入的不合时宜的资源.
  • go.rice - go.rice: 是一个 Go 包,它使使用 HTML、JS、CSS、图像和模板等资源变得非常容易.
  • mule: 嵌入外部资源,如图像、电影…放入 Go 源代码以使用 .专注于简单性。go generate
  • packr: 将静态文件嵌入 Go 二进制文件的简单方法.
  • rebed: 从 Go 1.16 的类型重新创建文件夹结构和文件embed.FS
  • statics: 将静态资源嵌入到 go 文件中以进行单个二进制编译 + 与 http 一起使用.文件系统 + 符号链接。
  • statik: 将静态文件嵌入到 Go 可执行文件中.
  • templify: 将外部模板文件嵌入到 Go 代码中以创建单个文件二进制文件.
  • vfsgen: 生成一个静态实现给定虚拟文件系统的 vfsdata.go 文件。
财务
  • 会计: Golang 的货币和货币格式。
  • ach: 自动清算所 (ACH) 文件的读取器、写入器和验证器。
  • bbgo: 用 Go 编写的加密交易机器人框架.包括常见的加密交换 API、标准指标、回测和许多内置策略。
  • currency: 处理货币金额,提供货币信息和格式。
  • currency: 高性能和准确的货币计算包。
  • decimal: 任意精度的定点十进制数。
  • decimal: 具有无恐慌算术的不可变十进制数。
  • fpdecimal: 小定点小数的快速精确序列化和算术运算
  • fpmoney: 快速简单的ISO4217定点十进制货币。
  • go-finance: 用于货币时间价值(年金),现金流,利率转换,债券和折旧计算的财务函数库.
  • go-finance: 用于获取汇率、通过 VIES 检查增值税号和检查 IBAN 银行帐号的模块。
  • go-finnhub: 来自 finnhub.io 的股票市场、外汇和加密数据的客户端。访问来自 60+ 证券交易所、10 家外汇经纪商和 15+ 加密货币交易所的实时金融市场数据。
  • go-money: Fowler’s Money 模式的实现.
  • go-nowpayments: 加密NOWPayments API的库.
  • money: 不可变的货币金额和汇率,具有无恐慌的算术。
  • ofxgo: 查询 OFX 服务器和/或解析响应(使用示例命令行客户端)。
  • orderbook: Golang 中限价订单簿的匹配引擎。
  • payme: 用于 SEPA 支付的二维码生成器(ASCII 和 PNG)。
  • sleet: 一个统一的接口,供多个支付服务提供商 (PsP) 处理在线支付。
  • techan: 具有高级市场分析和交易策略的技术分析库.
  • ticker: 终端股票观察器和股票头寸跟踪器。
  • transaction: 嵌入式账户事务数据库,以多线程模式运行。
  • vat: 增值税号验证和欧盟增值税税率。
调度作业
  • cdule: 支持数据库的作业调度程序库
  • cheek: 一个简单的类似调度程序的 crontab,旨在提供 KISS 作业调度方法.
  • clockwerk: 使用简单、流畅的语法安排定期作业的 Go 包.
  • cronticker: 支持 cron 计划的 ticker 实现.
  • Dagu: 无代码工作流执行器.它执行以简单 YAML 格式定义的 DAG。
  • go-cron: 用于 go 的简单 Cron 库,可以以不同的时间间隔执行闭包或函数,从每秒一次到每年一次的特定日期和时间.主要用于 Web 应用程序和长时间运行的守护程序。
  • go-quartz: 用于 Go 的简单、零依赖调度库.
  • gocron: 简单流畅的 Go 作业调度.这是 jasonlvhit/gocron 的一个积极维护的分支。
  • goflow: 一个简单但功能强大的 DAG 调度程序和仪表板.
  • gron: 使用简单的 Go API 定义基于时间的任务,Gron 的调度器将相应地运行它们.
  • gronx: Cron 表达式解析器、任务运行程序和守护进程,使用 crontab 等任务列表.
  • JobRunner: 智能且功能强大的 cron 作业调度程序,内置作业队列和实时监控。
  • jobs: 持久且灵活的后台作业库.
  • leprechaun: 支持 webhook、crons 和经典调度的作业调度程序.
  • sched: 能够快进时间的作业调度程序。
  • scheduler: Cronjobs 调度变得容易。
  • tasks: 一个易于使用的进程内调度器,用于 Go 中的重复性任务。
语言检测
  • detectlanguage: 语言检测API Go客户端.支持批量请求、短短语或单词语言检测。
  • getlang: 快速自然语言检测包.
  • guesslanguage: 用于确定 unicode 文本的自然语言的函数。
  • whatlanggo: Go 的自然语言检测包。支持 84 种语言和 24 种文字(书写系统,例如拉丁文、西里尔文等)。
视频
  • gmf: FFmpeg av* 库的 Go 绑定。
  • go-astisub: 在GO中操作字幕(.srt,.stl,.ttml,.webvtt,.ssa/.ass,图文电视,.smi等)。
  • go-astits: 在 GO 中原生解析和解复用 MPEG 传输流 (.ts).
  • go-m3u8: Apple m3u8 播放列表的解析器和生成器库.积极维护的 quangngotan95/go-m3u8 版本,具有改进和最新的 HLS 播放列表解析兼容性。
  • go-mpd: MPEG-DASH清单文件的解析器和生成器库.
  • goav: FFmpeg 的综合 Go 绑定.
  • gortsplib: Pure Go RTSP 服务器和客户端库.
  • gst: GStreamer 的 Go 绑定。
  • libgosubs: 对 go 的字幕格式支持.支持 .srt、.ttml 和 .ass。
  • libvlc-go: libvlc 2.X/3.X/4.X(由 VLC 媒体播放器使用)的 Go 绑定。
  • m3u8: Apple HLS 的 M3U8 播放列表的解析器和生成器库.
  • v4l: 用于 Linux 的视频捕获库,用 Go 编写.
表单
  • bind: 将表单数据绑定到任何 Go 值。
  • binding: 将表单和 JSON 数据从 net/http 请求绑定到 struct。
  • checker - Checker: 通过结构标记中定义的规则或直接通过函数帮助验证用户输入.
  • conform: 检查用户输入。根据结构标签修剪、清理和清理数据。
  • form: 解码 url。将值编码为 Go 值,并将 Go 值编码为 url。值。双阵列和全地图支持。
  • formam: 将表单的值解码为结构。
  • forms: 与框架无关的库,用于解析和验证支持多部分表单和文件的表单/ JSON数据.
  • gbind: 将数据绑定到任何 Go 值。可以使用内置和自定义表达式绑定功能;支持数据验证
  • gorilla/csrf: Go Web 应用程序和服务的 CSRF 保护.
  • httpin: 将 HTTP 请求解码为自定义结构,包括查询字符串、表单、HTTP 标头等.
  • nosurf: Go 的 CSRF 保护中间件.
  • qs: 用于将结构编码为 URL 查询参数的 Go 模块。
  • queryparam: 解码为标准或自定义类型的可用结构值。url.Values
网络
  • arp - 软件包 arp: 实现 ARP 协议,如 RFC 826 中所述。
  • buffstreams: 通过 TCP 流式传输协议缓冲区数据变得容易.
  • canopus: CoAP 客户端/服务器实现 (RFC 7252).
  • cidranger: Go 的快速 IP 到 CIDR 查找。
  • dhcp6: 软件包 dhcp6 实现 DHCPv6 服务器,如 RFC 3315 中所述。
  • dns: 用于处理DNS的Go库.
  • dnsmonster: 被动DNS捕获/监控框架.
  • easytcp: 用 Go (Golang) 编写的轻量级 TCP 框架,使用消息路由器构建.EasyTCP 可帮助您轻松、快速、轻松地构建 TCP 服务器。
  • ether: 用于发送和接收以太网帧的跨平台 Go 包。
  • ethernet: 软件包以太网实现 IEEE 802.3 以太网 II 帧和 IEEE 802.1Q VLAN 标记的编组和解组。
  • event: 用 Golang 编写的简单 I/O 事件通知库。
  • fasthttp: 打包 fasthttp 是 Go 的快速 HTTP 实现,比 net/http 快 10 倍.
  • fortio: 负载测试库和命令行工具、高级回显服务器和 Web UI.允许指定每秒查询的一组负载,并记录延迟、直方图和其他有用的统计信息并将它们绘制成图表。Tcp、Http、gRPC。
  • ftp - 包 ftp: 实现 RFC 959 中所述的 FTP 客户端。
  • ftpserverlib: 功能齐全的FTP服务器库.
  • fullproxy: 功能齐全的可编写脚本和守护程序可配置的代理和透视工具包,具有SOCKS5,HTTP,原始端口和反向代理协议.
  • gaio: proactor 模式下 Golang 的高性能异步 io 网络.
  • gev - gev: 是一个基于 Reactor 模式的轻量级、快速、非阻塞的 TCP 网络库.
  • GLDAP - GLDAP: 提供 LDAP 服务器实现,您为其 LDAP 操作提供处理程序。
  • gmqtt: Gmqtt 是一个灵活、高性能的 MQTT 代理库,完全实现了 MQTT 协议 V3.1.1.
  • gnet: 是一个用纯 Go 编写的高性能、轻量级、非阻塞、事件驱动的网络框架.gnet
  • gnet: 是一个高性能的网络框架,特别适用于游戏服务器。gnet
  • gNxI: 使用 gNMI 和 gNOI 协议的网络管理工具集合。
  • go-getter: 用于使用 URL 从各种来源下载文件或目录的 Go 库.
  • go-powerdns: Golang 的 PowerDNS API 绑定.
  • go-sse: HTML 服务器发送事件的 Go 客户端和服务器实现.
  • go-stun: STUN 客户端的 Go 实现(RFC 3489 和 RFC 5389).
  • gobgp: 用 Go 编程语言实现的 BGP。
  • golibwireshark: 软件包 golibwireshark 使用 libwireshark 库解码 pcap 文件并分析解剖数据.
  • gopacket: 使用 libpcap 绑定进行数据包处理的 Go 库。
  • gopcap - libpcap: 的 Go 包装器.
  • goshark: 打包 goshark 使用 tshark 解码 IP 数据包并创建数据结构来分析数据包.
  • gosnmp: 用于执行SNMP操作的本机Go库.
  • gotcp: 用于快速编写 tcp 应用程序的 Go 包。
  • grab: 用于管理文件下载的 Go 包。
  • graval: 实验性的FTP服务器框架.
  • gws: 支持AsyncIO的高性能WebSocket服务器和客户端.
  • HTTPLab -HTTPLabs: 允许您检查HTTP请求并伪造响应.
  • httpproxy: HTTP 代理处理程序和拨号器。
  • iplib: 用于处理IP地址的库(net.IP,净。IPNet),灵感来自 python ipaddress 和 ruby ipaddr
  • jazigo - Jazigo: 是一个用 Go 编写的工具,用于检索多个网络设备的配置.
  • kcp-go: KCP - 快速可靠的 ARQ 协议。
  • kcptun: 基于KCP协议的极其简单和快速的udp隧道.
  • lhttp: 强大的 websocket 框架,更轻松地构建您的 IM 服务器.
  • linkio: 读取器/写入器接口的网络链接速度模拟.
  • llb: 这是一个非常简单但快速的代理服务器后端。可用于快速重定向到预定义域,无需内存分配和快速响应。
  • mdns: Golang 中的简单 mDNS(多播 DNS)客户端/服务器库.
  • mqttPaho: Paho Go 客户端提供了一个 MQTT 客户端库,用于通过 TCP、TLS 或 WebSockets 连接到 MQTT 代理。
  • nbio: Pure Go 1000k+ 连接方案,支持 tls/http1.x/websocket,基本兼容 net/http,具有高性能、低内存成本、无阻塞、事件驱动、易用等特点。
  • netpoll: 由字节跳动开发的高性能非阻塞 I/O 网络框架,专注于 RPC 场景.
  • NFF-Go: 用于快速开发云和裸机(前身为YANFF)的高性能网络功能的框架.
  • packet: 通过 TCP 和 UDP 发送数据包。如果需要,它可以缓冲消息和热插拔连接。
  • panoptes-stream: 云原生分布式流网络遥测(gNMI、Juniper JTI 和 Cisco MDT)。
  • peerdiscovery: 使用UDP多播进行跨平台本地对等发现的Pure Go库.
  • portproxy: 简单的 TCP 代理,它为不支持它的 API 添加了 CORS 支持。
  • publicip - 包 publicip: 返回面向公众的 IPv4 地址(互联网出口)。
  • quic-go: 纯 Go 中 QUIC 协议的实现.
  • raw: 包 raw 允许在网络接口的设备驱动程序级别读取和写入数据。
  • sftp: 软件包 sftp 实现 SSH 文件传输协议,如 https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt 中所述。
  • ssh: 用于构建 SSH 服务器的高级 API(包装 crypto/ssh)。
  • sslb: 这是一个超级简单的负载均衡器,只是一个实现某种性能的小项目。
  • stun: RFC 5389 STUN 协议的 Go 实现。
  • tcp_server: 用于更快地构建 tcp 服务器的 Go 库.
  • tcpack - tcpack: 是一种基于 TCP 的应用程序协议,用于在 go 程序中打包和解压缩字节流.
  • tspool: TCP 库使用工作线程池来提高性能并保护服务器。
  • utp: Go uTP 微传输协议实现。
  • vssh: 用于通过SSH协议构建网络和服务器自动化的Go库.
  • water: 简单的 TUN/TAP 库。
  • webrtc: WebRTC API 的纯 Go 实现.
  • winrm: 转到 WinRM 客户端以在 Windows 计算机上远程执行命令。
  • xtcp: TCP服务器框架,具有同步全双工通信,正常关机和自定义协议.
编辑器插件
  • Vim/Neovim 的 coc-go 语言服务器扩展 -: 此插件为 Vim/Neovim 添加了 gopls 功能。
  • Go Doc: 一个 Visual Studio Code 扩展,用于在输出中显示定义并生成 go doc。
  • JetBrains IDEs 的 Go 插件 - JetBrains IDE 的 Go 插件: .
  • go-language-server: 将 VSCode go 扩展转换为支持 language-server-protocol 的语言服务器的包装器。
  • go-mode: GNU/Emacs 的 Go 模式.
  • go-plus: 用于 Atom 的 Go (Golang) 包,它添加了自动完成、格式化、语法检查、linting 和审查.
  • gocode: Go 编程语言的自动完成守护程序.
  • goimports-reviser: 用于导入的格式化工具。
  • goprofiling: 此扩展向 VS Code 添加了对 Go 语言的基准分析支持。
  • GoSublime: 文本编辑器 SublimeText 3 的 Golang 插件集合,提供代码完成和其他类似 IDE 的功能.
  • gounit-vim: 用于根据函数或方法的签名生成 Go 测试的 Vim 插件.
  • theia-go-extension: Theia IDE 的 Go 语言支持.
  • vim-compiler-go: 用于在保存时突出显示语法错误的 Vim 插件.
  • vim-go: Vim 的 Go 开发插件.
  • vscode-go: Visual Studio Code (VS Code) 的扩展,提供对 Go 语言的支持.
  • 监视: 在文件更改时以 acme win 的形式运行命令。
管道
  • ordered-concurrently: Go 模块,该模块并发处理工作并按输入顺序返回通道中的输出。
  • parapipe: FIFO Pipeline,它在每个阶段并行执行,同时保持消息和结果的顺序。
  • pipeline: 具有扇入和扇出的管道的实现。
第三方API
  • airtable: Airtable API 的 Go 客户端库.
  • amazon-product-advertising-api: 亚马逊产品广告 API 的 Go 客户端库.
  • anaconda: Twitter 1.1 API 的 Go 客户端库.
  • appstore-sdk-go: 用于 AppStore Connect API 的非官方 Golang SDK.
  • aws-sdk-go: 适用于 Go 编程语言的官方 AWS 开发工具包。
  • bqwriter: 高级Go库,可在整个过程中将数据写入Google BigQuery.
  • brewerydb: 用于访问 BreweryDB API 的 Go 库。
  • cachet - Cachet: 的 Go 客户端库(开源状态页面系统)。
  • circleci: 用于与 CircleCI 的 API 交互的 Go 客户端库.
  • clarifai: 用于与 Clarifai API 接口的 Go 客户端库.
  • codeship-go: 用于与 Codeship 的 API v2 交互的 Go 客户端库.
  • coinpaprika-go: 用于与 Coinpaprika 的 API 交互的 Go 客户端库.
  • device-check-go: 用于与 iOS DeviceCheck API v1 交互的 Go 客户端库。
  • discordgo: Discord 聊天 API 的 Go 绑定.
  • dusupay-sdk-go: 非官方的Dusupay支付网关API客户端
  • ethrpc: 以太坊 JSON RPC API 的 Go 绑定.
  • facebook: 支持Facebook Graph API的Go库.
  • fasapay-sdk-go: Golang 的非官方 Fasapay 支付网关 XML API 客户端.
  • fcm: Firebase Cloud Messaging的Go库.
  • gads: Google Adwords 非官方 API。
  • gami: Asterisk Manager 界面的 Go 库.
  • gcm: Google Cloud Messaging的Go库.
  • geo-golang: 用于访问 Google Maps、MapQuest、Nominatim、OpenCage、Bing、Mapbox 和 OpenStreetMap 地理编码/反向地理编码 API 的 Go 库.
  • github: 用于访问 GitHub REST API v3 的 Go 库。
  • githubql: 用于访问 GitHub GraphQL API v4 的 Go 库。
  • go-atlassian: 用于访问 Atlassian Cloud 服务(Jira、Jira Service Management、Jira Agile、Confluence、Admin Cloud)的 Go 库
  • go-aws-news: 使用应用程序和库从 AWS 获取新功能。
  • go-chronos: 用于与 Chronos Job Scheduler 交互的 Go 库
  • go-hacknews: HackerNews API 的 Tiny Go 客户端.
  • go-here: 围绕基于 HERE 位置的 API 的 Go 客户端库.
  • go-hibp: 简单的 Go 绑定到“Have I Been Pwned” API.
  • go-imgur: imgur 的 Go 客户端库
  • go-jira: Atlassian JIRA 的 Go 客户端库
  • go-lark: 一个简单易用的飞书和 Lark 开放平台非官方 SDK.
  • go-marathon: 用于与 Mesosphere 的 Marathon PAAS 交互的 Go 库.
  • go-myanimelist: 用于访问 MyAnimeList API 的 Go 客户端库。
  • go-openai: OpenAI ChatGPT, DALL·E,Go 的 Whisper API 库。
  • go-openproject: 用于与 OpenProject API 交互的 Go 客户端库。
  • go-postman-collection: 使用 Postman Collections 的 Go 模块(与 Insomnia 兼容).
  • go-redoc: 使用 ReDoc 的 Go 嵌入式 OpenAPI/Swagger 文档 ui.
  • go-restcountries: REST 国家 API 的 Go 库.
  • go-sophos: 零依赖项的 Sophos UTM REST API 的 Go 客户端库。
  • go-sptrans: SPTrans Olho Vivo API 的 Go 客户端库.
  • go-swagger-ui: 包含预编译的 Swagger UI 的 Go 库,用于提供 swagger json.
  • go-telegraph -: 电报发布平台API客户端.
  • go-trending: 用于访问 Github 上的趋势存储库和开发人员的 Go 库.
  • go-twitter: Twitter v1.1 API 的 Go 客户端库.
  • go-unsplashUnsplash.com API 的 Go 客户端库。
  • go-xkcd: xkcd API 的 Go 客户端。
  • go-yapla - Yapla: v2.0 API 的 Go 客户端库.
  • goagi: 用于构建 Asterisk PBX agi/fastagi 应用程序的 Go 库.
  • goami2: Asterisk PBX 的 AMI v2 库。
  • GoFreeDB: Golang 库在 Google 表格之上提供常见且简单的数据库抽象.
  • gogtrends: Google趋势非官方API.
  • golang-tmdb: 电影数据库 API v3 的 Golang 包装器.
  • golyrics - Golyrics: 是一个 Go 库,用于从 Wikia 网站获取音乐歌词数据.
  • gomalshare: Go 库 MalShare API malshare.com
  • GoMusicBrainz - Go MusicBrainz: WS2 客户端库.
  • google: 自动生成的Go Google API.
  • google-analytics: 简单的包装器,便于Google Analytics(分析)报告.
  • google-cloud: Google Cloud API Go 客户端库.
  • google-email-audit-api: Google G Suite 电子邮件审核 API 的 Go 客户端库.
  • google-play-scraper: 从 Google Play 商店获取数据.
  • gopaapi5: 亚马逊产品广告 API 5.0 的 Go 客户端库。
  • gosip: SharePoint的客户端库.
  • gostorm: GoStorm 是一个 Go 库,它实现了在 Go 中编写与 Storm shell 通信的 Storm Spout 和 Bolt 所需的通信协议.
  • hipchat: 此项目为 Hipchat API 实现了一个 golang 客户端库。
  • hipchat (xmpp): 一个通过 XMPP 与 HipChat 通信的 golang 包。
  • igdb: Internet游戏数据库API的Go客户端.
  • jokeapi-go: JokeAPI 的 Go 客户端.
  • lark: 飞书/Lark 开放 API Go SDK,支持所有开放 API 和事件回调。
  • lastpass-go: LastPass API 的 Go 客户端库.
  • libgoffi: 用于本机 libffi 集成的库适配器工具箱
  • Medium: Golang SDK for Medium 的 OAuth2 API.
  • megos: 用于访问Apache Mesos集群的客户端库.
  • minio-go: 用于 Amazon S3 兼容云存储的 Minio Go 库.
  • mixpanel: Mixpanel 是一个库,用于跟踪事件并将 Mixpanel 配置文件更新从 go 应用程序发送到 Mixpanel.
  • newsapi-go: NewsAPI 的 Go 客户端.
  • openaigo: OpenAI GPT3/GPT3.5 ChatGPT API 客户端库,用于 Go.
  • patreon-go: Patreon API 的 Go 库.
  • PayPal: PayPal 支付 API 的包装器。
  • playlyfe - Playlyfe: Rest API Go SDK.
  • pushover - Pushover: API 的 Go 包装器.
  • rawg-sdk-go: 用于 RAWG 视频游戏数据库 API 的 Go 库
  • rrdaclient: 用于访问 statdns.com API 的 Go 库,而 API 又是 RRDA API。通过 HTTP 的 DNS 查询。
  • shopify: Go Library 向 Shopify API 发出 CRUD 请求。
  • simples3: 简单而简洁的 AWS S3 库,使用 REST 和用 Go 编写的 V4 签名.
  • slack: Go 中的 Slack API.
  • smite: 用于包装对 Smite 游戏 API 的访问的 Go 包.
  • spotify: Go Library 访问 Spotify WEB API。
  • steam - 与 Steam: 游戏服务器交互的 Go 库。
  • stripe: Stripe API 的 Go 客户端。
  • swag: 没有评论,简单的 go 包装器来创建 swagger 2.0 兼容的 API.支持大多数路由框架,如内置、gin、chi、mux、echo、httprouter、fasthttp等。
  • textbelttextbelt.com txt 消息传递 API 的 Go 客户端。
  • translate: 在线翻译包。
  • Trello: Trello API 的 Go 包装器.
  • TripAdvisor: TripAdvisor API 的包装器.
  • tumblr - Tumblr: v2 API 的 Go 包装器.
  • twitter-scraper: 在没有身份验证和限制的情况下抓取 Twitter 前端 API.
  • uptimerobot: Uptime Robot v2 API的Go包装器和命令行客户端.
  • vl-go: 围绕 VerifID 身份验证层 API 的 Go 客户端库.
  • webhooks: GitHub和Bitbucket的Webhook接收器.
  • wit-go: 用于 wit.ai HTTP API 的 Go 客户端.
  • ynab: YNAB API 的 Go 包装器。
  • zooz - Zooz: API 的 Go 客户端.
科学与数据分析
  • assocentity: 包 assocentity 返回从单词到给定实体的平均距离。
  • bradleyterry: 提供用于成对比较的 Bradley-Terry 模型.
  • calendarheatmap: 受 Github 贡献活动启发的纯 Go 日历热图.
  • chart: Go 的简单图表绘图库。支持多种图形类型。
  • dataframe-go: 用于机器学习和统计的数据帧(类似于 pandas).
  • decimal: 包 decimal 实现任意精度的十进制浮点运算。
  • evaler: 简单的浮点算术表达式计算器.
  • ewma: 指数加权移动平均线。
  • geom: golang 的 2D 几何图形。
  • go-dsp: Go 的数字信号处理。
  • go-estimate: Go 中的状态估计和过滤算法.
  • go-gt -: 用“Go”语言编写的图论算法.
  • godesim: 扩展/多变量 ODE 求解器框架,用于使用简单的 API 进行基于事件的仿真.
  • goent: GO 熵度量的实现。
  • gograph: 一个提供数学图论和算法的 golang 通用图库.
  • gohistogram: 数据流的近似直方图。
  • gonum - Gonum: 是一组用于 Go 编程语言的数字库.它包含矩阵、统计、优化等库。
  • gonum/: plot - gonum/plot 提供了一个用于在 Go 中构建和绘制绘图的 API.
  • goraph: 纯 Go 图论库(数据结构、算法可视化).
  • gosl: 用于线性代数、FFT、几何、NURBS、数值方法、概率、优化、微分方程等的 Go 科学库.
  • GoStats - GoStats: 是一个开源的 GoLang 数学统计库,主要用于机器学习领域,它涵盖了大多数统计度量函数.
  • graph: 基本图形算法库.
  • jsonl-graph: 具有图形可视化支持的操作JSONL图形的工具.
  • ode: 常微分方程(ODE)求解器,支持扩展状态和基于通道的迭代停止条件.
  • orb: 支持裁剪、GeoJSON 和 Mapbox 矢量图块的 2D 几何类型。
  • pagerank: 在 Go 中实现的加权 PageRank 算法。
  • piecewiselinear: 微小的线性插值库.
  • PiHex: 十六进制数 Pi 的“Bailey-Borwein-Plouffe”算法的实现。
  • rootfinding: 用于查找二次函数根的寻根算法库.
  • sparse: 用于线性代数的 Go 稀疏矩阵格式,支持科学和机器学习应用程序,与 gonum 矩阵库兼容.
  • stats: Golang 标准库中缺少常用函数的统计包.
  • streamtools: 通用的图形工具,用于处理数据流.
  • TextRank: Golang 中的 TextRank 实现,具有可扩展的功能(摘要、加权、短语提取)和多线程 (goroutine) 支持.
  • triangolatte: 2D三角测量库.允许将线和多边形(均基于点)转换为 GPU 的语言。
硬件
  • arduino-cli -: 官方Arduino CLI和库.可以独立运行,也可以合并到更大的 Go 项目中。
  • emgo: 用于对嵌入式系统(例如STM32 MCU)进行编程的类Go语言.
  • ghw: Golang 硬件发现/检查库.
  • go-osc: Go 的打开声音控制 (OSC) 绑定.
  • go-rpio: Go 的 GPIO,不需要 cgo.
  • goroslib: Go 的机器人操作系统 (ROS) 库.
  • 操纵杆: 一个轮询的 API,用于读取附加的操纵杆的状态。
  • sysinfo: 一个纯 Go 库,提供 Linux 操作系统/内核/硬件系统信息。
电子邮件
  • chasquid: 用 Go 编写的 SMTP 服务器。
  • douceur: 用于 HTML 电子邮件的 CSS 内联.
  • email: 一个强大而灵活的 Go 电子邮件库。
  • email-verifier: 一个用于电子邮件验证的 Go 库,无需发送任何电子邮件.
  • go-dkim -: DKIM库,用于签名和验证电子邮件.
  • go-email-normalizer: 用于提供电子邮件地址规范表示的 Golang 库.
  • go-email-validator: 用于语法、一次性、SMTP 等的模块化电子邮件验证器…检查。
  • go-IMAP: 客户端和服务器的 IMAP 库.
  • go-mail: 一个简单的 Go 库,用于在 Go 中发送邮件。
  • go-message: Internet消息格式和邮件消息的流库.
  • go-premailer: Go 中 HTML 邮件的内联样式.
  • go-simple-mail: 非常简单的软件包,用于使用 SMTP 保持活动和两个超时发送电子邮件:连接和发送.
  • Hectane: 提供HTTP API的轻量级SMTP客户端.
  • hermes: Golang 包,可生成干净、响应迅速的 HTML 电子邮件.
  • mailchain: 将加密电子邮件发送到用 Go 编写的区块链地址。
  • mailgun-go: 使用 Mailgun API 发送邮件的 Go 库.
  • MailHog: 使用Web和API界面进行电子邮件和SMTP测试.
  • Mailpit: 面向开发人员的电子邮件和SMTP测试工具.
  • mailx - Mailx: 是一个库,可以更轻松地通过 SMTP 发送电子邮件.它是 golang 标准库的增强版。net/smtp
  • SendGrid - SendGrid: 用于发送电子邮件的 Go 库.
  • smtp: SMTP 服务器协议状态机。
  • smtpmock: 轻量级可配置的多线程假SMTP服务器.模拟测试环境的任何 SMTP 行为。
  • truemail-go: 可配置的 Golang 电子邮件验证器/验证器.通过正则表达式、DNS、SMTP 等验证电子邮件。
生成工具
  • generic: Go 的灵活数据类型。
  • genny: Go 的优雅泛型.
  • gocontracts: 通过将代码与文档同步,将按合同设计引入 Go.
  • godal: 通过指定 sql ddl 文件生成 golang 对应的 orm 模型,gorm 可以使用该文件。
  • gonerics: Go 中的惯用泛型.
  • gotests: 从源代码生成 Go 测试.
  • gounit: 使用您自己的模板生成 Go 测试.
  • hasgo: 为您的切片生成受 Haskell 启发的函数.
  • options-gen: Dave Cheney 的帖子“友好 API 的功能选项”中描述的功能选项.
  • re2dfa: 将正则表达式转换为有限状态机并输出 Go 源代码.
  • sqlgen: 从 SQL 文件或 DSN 生成 gorm、xorm、sqlx、bun、sql 代码。
  • TOML-to-Go: 立即在浏览器中将 TOML 转换为 Go 类型。
  • xgen: XSD(XML 模式定义)解析器和 Go/C/Java/Rust/TypeScript 代码生成器.
物联网
  • connectordb: 用于量化自我和物联网的开源平台.
  • devices: 用于物联网设备的库套件,用于x/exp/io的实验性.
  • ekuiper: 用于物联网边缘的轻量级数据流处理引擎.
  • eywa - Project Eywa: 本质上是一个连接管理器,用于跟踪连接的设备.
  • flogo -Project Flogo: 是用于IoT Edge应用和集成的开源框架.
  • gatt - Gatt: 是用于构建低功耗蓝牙外围设备的 Go 包.
  • gobot - Gobot: 是机器人、物理计算和物联网的框架.
  • huego: 用于Go的广泛的飞利浦Hue客户端库.
  • iot: IoT 是用于实现 Google IoT Core 设备的简单框架。
  • mainflux: 工业物联网消息传递和设备管理服务器.
  • periph: 外设 I/O,用于与低级板设施连接。
  • sensorbee: 用于物联网的轻量级流处理引擎.
版本控制
  • cli: 一个开源的 GitLab 命令行工具,将 GitLab 的酷炫功能带到您的命令行.
  • froggit-go: Froggit-Go 是一个 Go 库,允许对 VCS 提供程序执行操作.
  • gh: GitHub Webhooks的可编写脚本的服务器和net/http中间件.
  • git2go: libgit2 的 Go 绑定。
  • githooks: 具有版本控制和自动更新的 Per-repo 和共享 Git 钩子.
  • go-git: 纯 Go 中高度可扩展的 Git 实现.
  • go-vcs: 在 Go 中操作和检查 VCS 存储库。
  • hercules: 从 Git 存储库历史记录中获取高级见解。
  • hgo - Hgo: 是 Go 包的集合,提供对本地 Mercurial 存储库的读取访问.
游戏开发
  • Azul3D: 用 Go 编写的 3D 游戏引擎.
  • Ebitengine: Go 中非常简单的 2D 游戏引擎。
  • engo - Engo: 是一个用 Go 编写的开源 2D 游戏引擎.它遵循实体-组件-系统范式。
  • fantasyname: 幻想名称生成器.
  • g3n: Go 3D 游戏引擎.
  • go-astar: A* 路径查找算法的 Go 实现.
  • go-sdl2: 简单 DirectMedia 层的 Go 绑定。
  • go3d: 面向性能的 Go 2D/3D 数学包.
  • gonet: 使用golang实现的游戏服务器骨架.
  • goworld: 可扩展的游戏服务器引擎,具有空间实体框架和热插拔功能.
  • Harfang3D: Go 语言的 3D 引擎,适用于 Windows 和 Linux(Go.dev 上的 Harfang).
  • Leaf: 轻量级游戏服务器框架.
  • nano: 基于轻量级、设施、高性能的 golang 游戏服务器框架.
  • Oak: Pure Go 游戏引擎。
  • Pitaya: 可扩展的游戏服务器框架,通过 C SDK 为 iOS、Android、Unity 等提供集群支持和客户端库.
  • Pixel: 围棋中手工制作的 2D 游戏库。
  • prototype: 跨平台(Windows / Linux / Mac)库,用于使用最小的API创建桌面游戏.
  • raylib-go: raylib 的 Go 绑定,raylib 是一个简单易用的库,用于学习视频游戏编程.
  • termloop: 基于终端的Go游戏引擎,建立在Termbox之上.
  • tile: 面向数据且缓存友好的 2D 网格库 (TileMap),包括寻路、观察者和导入/导出.
消息传递系统
  • ami: 将客户端转到基于 Redis 集群流的可靠队列。
  • amqp: Go RabbitMQ 客户端库。
  • APNs2: 适用于 Go 的 HTTP/2 Apple 推送通知提供程序 — 向 iOS、tvOS、Safari 和 OSX 应用程序发送推送通知。
  • Asynq: 基于 Redis 构建的简单、可靠且高效的 Go 分布式任务队列.
  • Beaver: 一个实时消息传递服务器,用于在 Web 和移动应用程序中构建可扩展的应用内通知、多人游戏、聊天应用程序。
  • Benthos: 一系列协议之间的消息流桥。
  • Bus: 用于内部通信的极简消息总线实现.
  • Centrifugo: Go 中的实时消息传递(Websockets 或 SockJS)服务器.
  • Chanify: 推送通知服务器向您的 iOS 设备发送消息。
  • Commander: 支持各种“方言”(如 Apache Kafka)的高级事件驱动的消费者/生产者。
  • Golang 客户端,适用于 Apache Kafka 和 Confluent: Confluent Kafka Golang 客户端 - confluent-kafka-go 是 Confluent 的 Platform。
  • dbus: D-Bus 的原生 Go 绑定.
  • drone-line: 使用二进制文件、docker 或 Drone CI 发送线路通知.
  • emitter: 使用 Go 方式发出事件,具有通配符、谓词、取消可能性和许多其他良好的胜利。
  • event: 模式观察器的实现。
  • EventBus: 具有异步兼容性的轻量级事件总线。
  • gaurun-client: 用 Go 编写的 Gaurun 客户端.
  • Glue: 健壮的 Go 和 Javascript 套接字库(替代 Socket.io).
  • go-eventbus: Go 的简单事件总线包。
  • go-mq: 具有声明性配置的 RabbitMQ 客户端.
  • go-notify: freedesktop 通知规范的原生实现.
  • go-nsq: NSQ 的官方 Go 包。
  • go-res: 用于构建REST/实时服务的软件包,其中客户端使用NATS和Resgate无缝同步.
  • go-socket.iosocket.io Golang 库,一个实时应用程序框架.
  • go-vitotrol -: Viessmann Vitotrol Web服务的客户端库.
  • 咕噜: 一个 n:m 多路复用器,它从不同来源收集消息并将它们广播到一组目的地.
  • golongpoll: HTTP longpoll 服务器库,使 web pub-sub 变得简单.
  • gopush-cluster: gopush-cluster 是一个 go push 服务器集群.
  • gorush: 使用 APNs2 和 google GCM 的推送通知服务器.
  • gosd: 用于调度何时将消息发送到通道的库。
  • guble: 使用推送通知(Google Firebase Cloud Messaging,Apple Push Notification services,SMS)以及websockets(REST API)的消息传递服务器,具有分布式操作和消息持久性.
  • hare: 用于发送消息和监听TCP套接字的用户友好库.
  • hub: Go 应用程序的消息/事件中心,使用发布/订阅模式,支持 rabbitMQ 交换等别名.
  • jazz: 一个简单的RabbitMQ抽象层,用于队列管理以及消息的发布和使用.
  • machinery: 基于分布式消息传递的异步任务队列/作业队列。
  • mangos: 具有传输互操作性的Nanomsg(“可扩展性协议”)的纯go实现.
  • melody: 用于处理 websocket 会话的极简框架,包括广播和自动 ping/pong 处理.
  • Mercure - 使用 Mercure: 协议(建立在服务器发送事件之上)调度服务器发送更新的服务器和库.
  • messagebus - messagebus: 是一个 Go 简单的异步消息总线,非常适合在执行事件溯源、CQRS、DDD 时用作事件总线.
  • NATS Go Client: 轻量级和高性能的发布-订阅和分布式队列消息传递系统 - 这是 Go 库。
  • nsq-event-bus: 围绕 NSQ 主题和通道的微型包装器.
  • oplog: REST API的通用oplog/复制系统.
  • pubsub: 用于 go 的简单 pubsub 包。
  • Quamina: 用于过滤消息和事件的快速模式匹配.
  • rabbus: amqp 交换和队列的微小包装器.
  • rabtap: RabbitMQ 瑞士军刀 cli 应用程序.
  • RapidMQ: RapidMQ 是一个轻量级且可靠的库,用于管理本地消息队列.
  • Ratus: Ratus 是一个 RESTful 异步任务队列服务器.
  • redisqueue: redisqueue 提供使用 Redis 流的队列的创建者和使用者。
  • rmqconn: RabbitMQ 重新连接。amqp 上的包装器。Connection 和 amqp.Dial. 允许在连接断开时执行重新连接,然后强制关闭对 Close () 方法的调用。
  • sarama: Apache Kafka 的 Go 库.
  • Uniqush-Push: Redis 支持的统一推送服务,用于向移动设备发送服务器端通知。
  • Watermill: 高效处理消息流。构建事件驱动的应用程序,启用事件溯源,RPC over messages,传奇。可以使用传统的发布/订阅实现,如 Kafka 或 RabbitMQ,也可以使用 HTTP 或 MySQL 二进制日志。
  • zmq4: ZeroMQ 版本 4 的 Go 接口。也可用于版本 3 和版本 2。
测试 - 注入失败
测试 - 模糊测试和增量调试
  • go-fuzz -: 随机测试系统.
  • gofuzz: 用于使用随机值填充 go 对象的库.
  • Tavor: 通用模糊测试和增量调试框架.
测试 - 模拟
  • counterfeiter: 用于生成独立模拟对象的工具。
  • genmock: 带有代码生成器的模拟系统,用于构建接口方法的调用.
  • go-localstack: 用于在 AWS 测试中使用 localstack 的工具。
  • go-sqlmock -: 用于测试数据库交互的模拟SQL驱动程序.
  • go-txdb -: 基于单事务的数据库驱动程序,主要用于测试目的.
  • gock: 多功能的 HTTP 模拟变得容易.
  • gomock: Go 编程语言的模拟框架.
  • govcr: Golang 的 HTTP 模拟:记录和重放 HTTP 交互以进行离线测试.
  • hoverfly: HTTP(S)代理,用于记录和模拟具有可扩展中间件和易于使用的CLI的REST / SOAP API.
  • httpmock: 轻松模拟来自外部资源的 HTTP 响应。
  • minimock: Go 接口的模拟生成器.
  • mockery: 生成 Go 接口的工具.
  • mockhttp: Go http 的模拟对象.响应编写器。
  • mockit: 允许函数和方法轻松模拟,无需定义新类型;它类似于 Java 的 Mockito。
  • monkey: 一行可以模拟函数/方法/变量,而无需依赖注入或代码生成。
  • mooncake: 一种为多种目的生成模拟的简单方法
  • timex: 本机包的测试友好替代品。time
测试 - 框架
  • apitest: 基于REST的服务或HTTP处理程序的简单且可扩展的行为测试库,支持模拟外部http调用和序列图的呈现.
  • assert: 与原生 Go 测试一起使用的基本断言库,带有用于自定义断言的构建块.
  • badio: Go 包的扩展。testing/iotest
  • baloo: 富有表现力且多功能的端到端 HTTP API 测试变得简单.
  • be: 极简的通用测试断言库。
  • biff: 分叉测试框架,兼容 BDD。
  • charlatan: 为测试生成虚假接口实现的工具.
  • commander: 用于在 windows、linux 和 osx 上测试 cli 应用程序的工具。
  • covergates: 自托管代码覆盖率报告审查和管理服务.
  • cupaloy: 用于测试框架的简单快照测试插件.
  • dbcleaner: 用于测试目的的清理数据库,灵感来自 Ruby.database_cleaner
  • dsunit: SQL,NoSQL,结构化文件的数据存储测试.
  • embedded-postgres: 在 Linux、OSX 或 Windows 上本地运行真正的 Postgres 数据库,作为另一个 Go 应用程序或测试的一部分.
  • endly: 声明式端到端功能测试.
  • fixenv: 夹具管理引擎,灵感来自 pytest 夹具.
  • fluentassert: 可扩展、类型安全、流畅的断言 Go 库.
  • flute: HTTP客户端测试框架.
  • frisby: REST API测试框架.
  • gherkingen: BDD 样板生成器和框架.
  • ginkgo: Go 的 BDD 测试框架.
  • gnomock: 在 Docker 中运行的真实依赖项(数据库、缓存,甚至 Kubernetes 或 AWS)的集成测试,无需模拟.
  • go-carpet: 用于在终端中查看测试覆盖率的工具。
  • go-cmp: 用于比较测试中 Go 值的包。
  • go-hit: Hit 是一个用 golang 编写的 http 集成测试框架.
  • go-mutesting: Go 源代码的突变测试.
  • go-mysql-test-container: Golang MySQL testcontainer,用于帮助进行 MySQL 集成测试.
  • go-snaps: Golang 中类似 Jest 的快照测试.
  • go-testdeep: 极其灵活的 golang 深度比较,扩展了 go 测试包.
  • go-testpredicate: 具有大量诊断输出的测试谓词样式断言库.
  • go-vcr: 记录和回放您的HTTP交互,以实现快速,确定性和准确的测试.
  • goblin: 类似 Mocha 的 Go 测试框架。
  • goc - Goc: 是 Go 编程语言的综合覆盖测试系统.
  • gocheck: gotest 的更高级测试框架的替代品.
  • GoConvey: 具有 Web UI 和实时重载的 BDD 风格框架.
  • gocrest: 用于 Go 断言的可组合的类似 hamcrest 的匹配器.
  • godog: Go 的 Cucumber BDD 框架.
  • gofight: Golang Router 框架的 API 处理程序测试.
  • gogiven: 用于 Go 的类似 YATSPEC 的 BDD 测试框架.
  • gomatch: 为针对模式测试 JSON 而创建的库。
  • gomega: 类似 Rspec 的匹配器/断言库。
  • Gont: Go 网络测试工具包,用于测试使用 Linux 命名空间构建复杂的网络拓扑.
  • GoSpec: Go编程语言的BDD样式测试框架.
  • gospecify: 这提供了一个 BDD 语法来测试你的 Go 代码。任何使用过 rspec 等库的人都应该熟悉它。
  • gosuite: 通过利用 Go1.7 的子测试,引入带有设置/拆卸功能的轻量级测试套件.testing
  • got: 一个令人愉快的 golang 测试框架.
  • gotest.tools: 用于扩充 go testing 包并支持常见模式的包集合。
  • Hamcrest: 声明性 Matcher 对象的流畅框架,当应用于输入值时,会产生自描述的结果。
  • httpexpect: 简洁,声明性且易于使用的端到端HTTP和REST API测试.
  • is: Go 的专业轻量级测试迷你框架。
  • jsonassert: 用于验证 JSON 有效负载是否正确序列化的包。
  • omg.testingtools: 用于更改用于测试的私有字段值的简单库。
  • restit: Go 微框架来帮助编写 RESTful API 集成测试.
  • schema: 快速轻松地对请求和响应中使用的 JSON 架构进行表达式匹配。
  • stop-and-go: 并发测试帮助程序.
  • testcase: 行为驱动开发的惯用测试框架.
  • testcontainers-go: 一个 Go 包,可以轻松创建和清理基于容器的依赖项以进行自动集成/冒烟测试.简洁易用的 API 使开发人员能够以编程方式定义应作为测试的一部分运行的容器,并在测试完成后清理这些资源。
  • testfixtures - Rails: 的助手,用于测试数据库应用程序的测试夹具.
  • Testify: 标准 go 测试包的神圣扩展。
  • testmd: 将 Markdown 片段转换为可测试的 go 代码.
  • testsql: 在测试之前从 SQL 文件生成测试数据,并在完成后清除它。
  • testza: 功能齐全的测试框架,具有漂亮的彩色输出.
  • trial: 快速简便的可扩展断言,无需引入太多样板。
  • Tt: 简单而丰富多彩的测试工具。
  • wstest: 用于对Websocket http进行单元测试的Websocket客户端.处理器。
测试 - Selenium和浏览器控制工具
  • cdp: Chrome 调试协议的类型安全绑定,可用于浏览器或其他实现该协议的调试目标。
  • chromedp: 一种驱动/测试 Chrome、Safari、Edge、Android Webviews 和其他支持 Chrome 调试协议的浏览器的方法。
  • ggr: 一个轻量级服务器,将 Selenium WebDriver 请求路由和代理到多个 Selenium 集线器。
  • playwright-go: 浏览器自动化库,可通过单个API控制Chromium,Firefox和WebKit.
  • rod: 一个 Devtools 驱动程序,可使 Web 自动化和抓取变得容易.
  • selenoid: 在容器内启动浏览器的替代 Selenium 中心服务器。
流处理
  • go-streams: Go 流处理库.
  • goio: Golang 的 IO、Stream、Fiber 实现,灵感来自很棒的 Scala 库 cats 和 fs2.
  • machine: 用于编写和生成具有内置指标和可追溯性的流工作线程的 Go 库.
  • stream: Go Stream,就像 Java 8 Stream: Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce…
模板引擎
  • ego: 轻量级模板语言,可让您在 Go 中编写模板.模板被翻译成 Go 并编译。
  • extemplate: 围绕 html/template 的微型包装器,允许轻松进行基于文件的模板继承.
  • fasttemplate: 简单快速的模板引擎.替换模板占位符的速度比文本/模板快 10 倍。
  • gospin: 文章旋转和 spintax/spinning 语法引擎,可用于 A/B、测试文本/文章片段和创建更自然的对话.
  • got: 受 Hero 和 Fasttemplate 启发的 Go 代码生成器.包含文件、自定义标签定义、注入的 Go 代码、语言翻译等。
  • goview - Goview: 是一个基于 golang html/template 的轻量级、简约和惯用的模板库,用于构建 Go Web 应用程序.
  • jet: Jet 模板引擎。
  • liquid: Shopify Liquid 模板的 Go 实现。
  • maroto: 一种创建 PDF 的 maroto 方式。 Maroto 的灵感来自 Bootstrap 并使用 gofpdf。快速而简单。
  • pongo2: 类似 Django 的 Go 模板引擎.
  • quicktemplate: 快速、强大且易于使用的模板引擎。将模板转换为 Go 代码,然后对其进行编译。
  • raymond: Go 中的完整车把实现.
  • Razor: Golang 的 Razor 视图引擎.
  • Soy: Go 的闭包模板(又名 Soy 模板),遵循官方规范.
  • sprig: Go 模板的有用模板函数。
  • tbd: 一种使用占位符创建文本模板的非常简单的方法 - 公开额外的内置 Git 存储库元数据。
  • templ: 一种具有出色开发人员工具的 HTML 模板语言.
  • hashsplit: 将字节流拆分为块,并将块排列成树,边界由内容而不是位置决定。
  • merkle -Merkle: 根哈希和包含证明的空间效率计算.
  • skiplist: 非常快速的 Go Skiplist 实现.
  • skiplist: Go 中的跳过列表实现.
  • treap: 使用树堆的持久,快速有序的映射.
  • treemap: 在引擎盖下使用红黑树的通用键排序映射。
标准CLI
  • acmd: Go 中简单、有用且固执己见的 CLI 包.
  • argparse: 受 Python 的 argparse 模块启发的命令行参数解析器.
  • argv: 使用 bash 语法将命令行字符串拆分为参数数组的 Go 库.
  • carapace: spf13/cobra 的命令参数完成生成器.
  • carapace-bin: 多 shell 多命令参数完成器.
  • carapace-spec: 使用规范文件定义简单的补全。
  • cli: 基于 golang struct 标签的功能丰富且易于使用的命令行包.
  • cli: 用于在 Go 中构建命令行界面的简单而完整的 API.
  • climax: 具有“人脸”的替代 CLI,具有 Go 命令的精神.
  • clîr: 一个简单明了的 CLI 库.无依赖。
  • cmd: 扩展标准包以惯用方式支持子命令等。flag
  • cmdr: POSIX/GNU 风格、类似 getopt 的命令行 UI Go 库。
  • cobra: 现代Go CLI交互的指挥官.
  • command-chain: 用于配置和运行命令链的 go 库 - 例如 unix shell 中的流水线.
  • commandeer: 开发人员友好的 CLI 应用程序:根据结构字段和标记设置标志、默认值和用法。
  • complete: 在 Go + Go 命令 bash completion 中写入 bash 完成。
  • Dnote: 具有多设备同步功能的简单命令行笔记本。
  • elvish: 一种富有表现力的编程语言和多功能的交互式外壳.
  • env: 结构体的基于标签的环境配置。
  • flag: 简单但功能强大的命令行选项解析库,用于 Go 支持子命令。
  • flaggy: 一个健壮且惯用的标志包,具有出色的子命令支持.
  • flagvar: Go 标准包的标志参数类型的集合。flag
  • go-andotp: 用于加密/解密和 OTP 文件的 CLI 程序.也可以用作库。
  • go-arg: Go 中基于结构的参数解析.
  • go-commander: 用于简化 CLI 工作流程的 Go 库。
  • go-flags: go 命令行选项解析器.
  • go-getoptions: 受 Perl 的 GetOpt::Long 灵活性启发的 Go 选项解析器.
  • gocmd: 用于构建命令行应用程序的 Go 库.
  • Hiboot: CLI -具有自动配置和依赖注入功能的CLI应用程序框架.
  • job: JOB,让你的短期命令成为长期工作。
  • kingpin: 支持子命令的命令行和标志解析器(被取代;见下文).kong
  • liner: 用于命令行界面的类似 readline 的库.
  • mcli: 一个最小但非常强大的 Go cli 库。
  • mitchellh/cli: 用于实现命令行界面的 Go 库.
  • mow.cli: 用于构建具有复杂标志和参数解析和验证的 CLI 应用程序的 Go 库.
  • ops: Unikernel Builder/Orchestrator.
  • pflag: Go 标志包的直接替代品,实现 POSIX/GNU 风格的 --flags。
  • 阅读线: 具有现代且易于使用的 UI 功能的 Shell 库。
  • sand: 用于创建解释器的简单 API 等等。
  • sflags: 基于结构的标志生成器,用于 flag、urfave/cli、pflag、cobra、kingpin 和其他库。
  • strumt: 用于创建提示链的库。
  • subcmd: 解析和运行子命令的另一种方法.与标准包装一起使用。flag
  • survey: 构建交互式和可访问的提示,完全支持 Windows 和 posix 终端.
  • ts: 时间戳转换和比较工具。
  • ukautz/clif: 小型命令行界面框架.
  • urfave/cli: 简单、快速、有趣的包,用于在 Go 中构建命令行应用程序(以前称为 codegangsta/cli).
  • version: 以多种格式收集和显示 CLI 版本信息以及升级通知。
  • wlog: 简单的日志记录接口,支持跨平台的颜色和并发性.
  • wmenu: 易于使用的菜单结构,用于提示用户做出选择的CLI应用程序.
查询语言
  • api-fu -: 全面的GraphQL实现.
  • dasel: 使用命令行中的选择器查询和更新数据结构.与 jq/yq 相当,但支持 JSON、YAML、TOML 和 XML,运行时依赖性为零。
  • gojsonq: 一个简单的 Go 包,用于查询 JSON 数据.
  • goven: 适用于任何数据库模式的插入式查询语言.
  • gqlgen: 基于Go生成GraphQL服务器库.
  • grapher: 一个 GraphQL 字段构建器,利用具有额外实用程序和功能的 Go 泛型.
  • graphql - graphql: 解析器 + 实用程序.
  • graphql: 专注于易用性的 GraphQL 服务器.
  • graphql-go: Go 的 GraphQL 实现.
  • gws: Apollos的“GraphQL over Websocket”客户端和服务器实现.
  • jsonpath: 用于基于JSONPath语法检索部分JSON的查询库.
  • jsonql: Golang 中的 JSON 查询表达式库.
  • jsonslice: 使用高级过滤器的Jsonpath查询.
  • mql: 模型查询语言 (mql) 是数据库模型的查询语言。
  • rql: REST API 的资源查询语言。
  • rqp: REST API的查询解析器.筛选、验证、操作在查询中直接受支持。ANDOR
  • straf: 轻松将 Golang 结构转换为 GraphQL 对象.
构建项目
  • ardanlabs/service: 用于构建生产级可扩展Web服务应用程序的入门套件.
  • cookiecutter-golang: 一个 Go 应用程序样板模板,用于按照生产最佳实践快速启动项目.
  • go-module: 用 Go 编写的典型模块的模板.
  • go-sample: 带有真实代码的 Go 应用程序项目的示例布局.
  • go-starter: 一个自以为是的生产就绪型 RESTful JSON 后端模板,与 VSCode DevContainers 高度集成.
  • go-todo-backend: 使用产品微服务的模块化项目布局的 Go Todo 后端示例.
  • gobase: golang 应用程序的简单骨架,具有真实 golang 应用程序的基本设置。
  • golang-standards/project-layout: Go 生态系统中常见的历史和新兴项目布局模式集.注意:尽管组织名称如此,但它们并不代表官方的 golang 标准,请参阅此问题以获取更多信息。尽管如此,有些人可能会发现布局很有用。
  • golang-templates/seed: Go 应用程序 GitHub 存储库模板.
  • insidieux/inizio: 带有插件的 Golang 项目布局生成器.
  • modern-go-application: 应用现代实践的 Go 应用程序样板和示例.
  • nunu: Nunu 是用于构建 Go 应用程序的脚手架工具.
  • pagoda: 用 Go 内置的快速、简单的全栈 Web 开发入门套件.
  • scaffold: 脚手架生成一个入门级 Go 项目布局。让您专注于实现的业务逻辑。
  • wangyoucao577/go-project-layout: 关于如何构建 Go 项目布局的一组实践和讨论.
构建自动化
  • 1build: 命令行工具,用于顺畅地管理特定于项目的命令。
  • anko: 多种编程语言的简单应用程序观察器.
  • gaper: 当 Go 项目崩溃或某些监视文件更改时,构建并重新启动它。
  • gilbert: 为 Go 项目构建系统和任务运行器.
  • goyek: 在 Go 中创建构建管道.
  • mage - Mage: 是一个使用 Go 的类似 make/rake 的构建工具.
  • mmake: 现代制造。
  • 实现: 去构建一个带有文件观察器的系统并实时重新加载.使用自定义路径运行、生成和监视文件更改。
  • 任务: 简单的“制作”替代方案。
  • taskctl: 并发任务运行程序。
  • xc: 具有 README.md 定义任务的任务运行器,可执行 markdown.
机器学习
  • bayesian: Golang 的朴素贝叶斯分类.
  • CloudForest: 用于纯 Go 机器学习的快速、灵活、多线程决策树集成.
  • ddt: 动态决策树,创建定义可自定义规则的树。
  • eaopt: 进化优化库.
  • evoli: 遗传算法和粒子群优化库.
  • fonet: 用 Go 编写的深度神经网络库.
  • go-cluster: k 模式和 k-prototypes 聚类算法的 Go 实现.
  • go-deep: Go 中功能丰富的神经网络库.
  • go-fann: 快速人工神经网络 (FANN) 库的 Go 绑定.
  • go-featureprocessing: 在 Go 中快速方便地进行低延迟机器学习的特征处理.
  • go-galib: 用 Go / golang 编写的遗传算法库.
  • go-pr: Go 语言中的模式识别包。
  • gobrain: 用 go 编写的神经网络.
  • godist: 各种概率分布和相关方法。
  • goga: Go 的遗传算法库.
  • GoLearn: Go 的通用机器学习库.
  • golinear: Go 的 liblinear 绑定.
  • GoMind: Go 中一个简单的神经网络库.
  • goml: Go 中的在线机器学习.
  • gonet: Go的神经网络.
  • Goptuna: 用 Go 编写的黑盒函数的贝叶斯优化框架.一切都将得到优化。
  • goRecommend: 用 Go 编写的推荐算法库。
  • gorgonia: 基于图形的计算库,如 Theano for Go,为构建各种机器学习和神经网络算法提供基元.
  • gorse: 基于 Go 编写的协作过滤的离线推荐系统后端.
  • goscore: PMML 的 Go 评分 API.
  • gosseract: 使用 Tesseract C++ 库进行 OCR(光学字符识别)的 Go 包。
  • libsvm: 基于 LIBSVM 3.14 的 libsvm golang 版本衍生作品.
  • m2cgen: 一种 CLI 工具,用于将经过训练的经典 ML 模型转换为零依赖的原生 Go 代码,用 Python 编写,支持 Go 语言.
  • neat: 用于增强拓扑 (NEAT) 的 NeuroEvolution 的即插即用并行 Go 框架.
  • neural-go: 用 Go 实现的多层感知器网络,通过反向传播进行训练.
  • ocrserver: 一个简单的 OCR API 服务器,非常容易被 Docker 和 Heroku 部署.
  • onnx-go: 开放神经网络交换(ONNX)的Go接口.
  • probab: 概率分布函数。贝叶斯推理。用纯 Go 语言编写。
  • randomforest: 易于使用的 Go 随机森林库.
  • regommend: 推荐和协作过滤引擎.
  • shield: 贝叶斯文本分类器,具有灵活的分词器和Go的存储后端.
  • tfgo: 易于使用的 Tensorflow 绑定:简化了官方 Tensorflow Go 绑定的使用.在 Go 中定义计算图,加载和执行在 Python 中训练的模型。
  • Varis: Golang神经网络.
机器人构建
  • bot: 具有附加 UI 组件的零依赖 Telegram 机器人库
  • echotron: Go 中用于 Telegram Bots 的优雅并发库.
  • ephemeral-roles: 一个 Discord 机器人,用于根据语音频道成员的存在管理临时角色.
  • go-chat-bot: 用 Go 编写的 IRC、Slack 和 Telegram 机器人.
  • go-joe: 受 Hubot 启发但用 Go 编写的通用机器人库.
  • go-sarah: 为所需的聊天服务(包括 LINE、Slack、Gitter 等)构建机器人的框架.
  • go-tgbot: 纯 Golang Telegram Bot API 包装器,由 swagger 文件、基于会话的路由器和中间件生成.
  • go-twitch-irc: 为 twitch.tv 聊天编写机器人的库
  • Golang CryptoTrading Bot: 用于加密货币交易所的基于控制台的交易机器人的 golang 实现.
  • govkbot: 简单的 Go VK 机器人库.
  • hanu: 编写Slack机器人的框架.
  • 海带: Stellar DEX 的官方交易和做市机器人。开箱即用,用 Golang 编写,与中心化交易所和自定义交易策略兼容。
  • larry: Larry 🐦 是一个非常简单的 Twitter 机器人生成器,它从 Go 内置的 Github 中随机发布存储库.
  • margelet: 用于构建 Telegram 机器人的框架.
  • micha: 用于 Telegram 机器人 api 的 Go 库.
  • olivia: 使用人工神经网络构建的聊天机器人.
  • slack-bot: 为懒惰的开发人员准备使用 Slack Bot:自定义命令、Jenkins、Jira、Bitbucket、Github…
  • slacker: 易于使用的框架来创建 Slack 机器人.
  • slackscot: 构建Slack机器人的另一个框架.
  • tbot: 具有类似于 net/http 的 API 的 Telegram 机器人服务器.
  • telebot: Telegram 机器人框架是用 Go 编写的.
  • telego: Golang 的 Telegram Bot API 库,具有完整的一对一 API 实现.
  • telegram-bot-api: 简单干净的 Telegram 机器人客户端.
  • teleterm: Telegram Bot Exec 终端命令.
  • Tenyks: 面向服务的IRC机器人,使用Redis和JSON进行消息传递.
  • wayback: Telegram、Mastodon、Slack 和其他消息传递平台的机器人存档网页.
未分类
  • anagent: 具有依赖注入的简约、可插拔的 Golang evloop/计时器处理程序.
  • antch: 快速,强大且可扩展的网络爬虫和抓取框架.
  • archiver: 用于制作和提取 .zip 和 .tar.gz 存档的库和命令。
  • autoflags: Go 包,用于从结构字段自动定义命令行标志。
  • avgRating: 根据 Wilson 分数公式计算平均分数和评级。
  • banner: 将漂亮的横幅添加到您的 Go 应用程序中。
  • base64Captcha: Base64captch 支持数字、数字、字母、算术、音频和数字字母验证码.
  • basexx: 在各种数字基的数字字符串之间进行转换。
  • battery: 跨平台,规范化的电池信息库.
  • bitio: 高度优化的 Go 位级读取器和写入器。
  • browscap_go: 用于浏览器功能项目的 GoLang 库。
  • captcha: 包验证码为验证码生成提供了一个易于使用、无主见的 API.
  • common: 服务器框架的库。
  • conv: 包 conv 提供跨 Go 类型的快速直观转换.
  • datacounter: 读取器/写入器/http 的 Go 计数器。响应编写器。
  • faker: 假数据生成器.
  • faker: Go 的随机假数据和结构生成器.
  • ffmt: 美化人类的数据显示。
  • gatus: 自动化服务运行状况仪表板.
  • go-commandbus: Go 的轻微且可插拔的命令总线.
  • go-commons-pool: Golang 的通用对象池.
  • go-openapi: 用于解析和利用open-api模式的包集合.
  • go-resiliency: golang 的弹性模式.
  • go-unarr: 用于 RAR、TAR、ZIP 和 7z 档案的解压缩库.
  • gofakeit: 用 go 编写的随机数据生成器。
  • gommit - 分析 git: 提交消息以确保它们遵循定义的模式.
  • gopsutil: 用于检索进程和系统利用率(CPU,内存,磁盘等)的跨平台库.
  • gosh: 提供 Go 统计处理程序、结构、度量方法。
  • gosms: Go 中您自己的本地 SMS 网关,可用于发送 SMS。
  • gotoprom: 官方 Prometheus 客户端的类型安全指标构建器包装库.
  • gountries: 公开国家/地区和细分数据的包。
  • gtree: 提供 CLI、Package 和 Web,用于从 Markdown 或以编程方式创建树输出和目录.
  • health: 一个简单灵活的 Go 健康检查库。
  • health: 易于使用、可扩展的运行状况检查库。
  • healthcheck: RESTful服务的自以为是的并发运行状况检查HTTP处理程序.
  • hostutils: 用于打包和解压缩 FQDN 列表的 golang 库。
  • indigo: 使用Sonyflake并由Base58编码的分布式唯一ID生成器.
  • lk: golang 的简单许可库.
  • llvm: 用于在纯 Go 中与 LLVM IR 交互的库.
  • metrics: 用于指标检测和Prometheus公开的库.
  • morse: 与莫尔斯电码相互转换的库.
  • numa: NUMA 是一个实用程序库,它是用 go 编写的.它帮助我们编写一些 NUMA-AWARED 代码。
  • openapi: OpenAPI 3.x解析器.
  • pdfgen: 从Json请求生成PDF的HTTP服务.
  • 波斯语: go 中波斯语的一些实用程序。
  • sandid: 地球上的每一粒沙子都有自己的 ID。
  • shellwords: 一个 Golang 库,用于根据 UNIX Bourne shell 的单词解析规则操作字符串.
  • shortid: 分布式生成超短,唯一,非序列,URL友好的ID.
  • shoutrrr: 通知库,可轻松访问各种消息传递服务,如 slack、mattermost、gotify 和 smtp 等.
  • sitemap-format: 一个简单的站点地图生成器,带有一点语法糖.
  • stateless: 用于创建状态机的流畅库.
  • stats: 监控 Go MemStats + 系统统计信息,例如内存、交换和 CPU,并通过 UDP 发送到您想要的任何地方进行日志记录等…
  • turtle: Go 的表情符号。
  • url-shortener: 支持 mysql 的现代、强大且强大的 URL 缩短器微服务.
  • VarHandler: 生成样板 http 输入和输出处理。
  • varint: 比标准库中提供的编码器/解码器更快的可变长度整数编码器/解码器。
  • xdg: 在 Go 中实现的 FreeDesktop.org (xdg) 规范。
  • xkg: X 键盘抓取卡。
  • xz: 用于读取和写入 xz 压缩文件的纯 golang 包。
服务器应用程序
  • algernon: HTTP/2 Web服务器,内置支持Lua,Markdown,GCSS和Amber.
  • Caddy - Caddy: 是一种易于配置和使用的替代 HTTP/2 Web 服务器.
  • consul: Consul 是一个用于服务发现、监控和配置的工具。
  • cortex-tenant: Prometheus 远程写入代理,用于根据指标标签添加添加 Cortex 租户 ID 标头。
  • devd: 面向开发人员的本地 Web 服务器。
  • discovery: 用于弹性中间层负载平衡和故障转移的注册表。
  • dudeldu: 一个简单的 SHOUTcast 服务器.
  • dummy: 使用一个命令基于 API 合约运行模拟服务器.
  • Easegress: 具有可观测性和可扩展性的云原生高可用性/性能流量编排系统.