域名
whois(likexian)
Whois 是一个简单的 Go 模块,用于域名和 ip whois 信息查询。
服务管理
overseer
一个用于在 Go (golang) 中创建可监控、正常重启、自我升级二进制文件的包。
Excel
excelize
提供了一组允许您写入和读取XLSX / XLSM / XLTM文件的功能
excelize
用于读取和写入 Microsoft Excel™ (XLSX) 文件的 Golang 库。
exl
Excel 绑定到用 Go 编写的结构。(仅支持 Go1.18+)
go-excel
一个简单而轻便的阅读器,可以将类似 relate-db 的 excel 作为表格读取.
goxlsxwriter
用于编写 XLSX (Microsoft Excel) 文件的 libxlsxwriter 的 Golang 绑定。
xlsx
用于简化读取最新版本的 Microsoft Excel 在 Go 程序中使用的 XML 格式的库。
Bloom 和 Cuckoo 过滤器
bloom
实现 Bloom 过滤器的 Go 包。
bloom
在 Go 中实现的布隆过滤器。
bloom
Golang Bloom 过滤器实现.
bloomfilter
Go 中的另一个 Bloomfilter 实现,与 Java 的 Guava 库兼容.
boomfilters
用于处理连续、无界流的概率数据结构。
CSS预处理器
gcss
纯 Go CSS 预处理器。
go-libsass
转到 100% Sass 兼容的 libsass 项目的包装器.
DevOps
abbreviate
abbreviate 是一种工具,使用可配置的分隔符将长字符串转换为较短的字符串,例如,将分支名称嵌入到部署堆栈 ID 中。
aptly - aptly
是一个 Debian 存储库管理工具。
aurora
基于Web的跨平台Beanstalkd队列服务器控制台.
awsenv
为配置文件加载 Amazon (AWS) 环境变量的小型二进制文件。
Balerter
基于脚本的自托管警报管理器。
Go 编译器
c2go
将 C 代码转换为 Go 代码。
c4go
将 C 代码转译为 Go 代码.
esp32
将 Go 转译为 Arduino 代码。
f4go
将 FORTRAN 77 代码转换为 Go 代码。
gopherjs
从 Go 到 JavaScript 的编译器.
Goroutines
ants
Go 中高性能、低成本的 goroutine 池。
artifex
使用基于工作线程的调度为 Golang 提供的简单内存中作业队列.
async
Go 的替代同步库(Future、Promise、Locks).
async
一种异步执行函数的安全方法,在发生紧急情况时恢复它们。
async-job
AsyncJob 是一个异步队列作业管理器,代码轻巧、清晰且速度快.
GUI - 互动
AppIndicator
Go - libappindicator3 C 库的 Go 绑定.
gosx-notifier
Go 的 OSX 桌面通知库。
mac-activity-tracker
OSX 库,用于通知您机器上的任何(可插入)活动。
mac-sleep-notifier
golang 中的 OSX 睡眠/唤醒通知。
robotgo
Go Native 跨平台 GUI 系统自动化.控制鼠标、键盘等。
GUI - 工具包
app
使用GO,HTML和CSS创建应用程序的包.支持:MacOS,Windows正在进行中。
energy
基于 LCL(原生系统 UI 控件库)和 CEF(Chromium 嵌入式框架)的跨平台(Windows/macOS/Linux)
fyne
基于 Material Design 为 Go 设计的跨平台原生 GUI.支持:Linux、macOS、Windows、BSD、iOS 和 Android。
gio
Gio 是一个用于在 Go 中编写跨平台即时模式 GUI-s 的库.Gio 支持所有主要平台:Linux、macOS、Windows、Android、iOS、FreeBSD、OpenBSD 和 WebAssembly。
go-astilectron
使用 GO 和 HTML/JS/CSS(由 Electron 提供支持)构建跨平台 GUI 应用程序.
HTTP 客户端
fast-shot
使用 Go 最快、最简单的 HTTP 客户端快速精确地击中您的 API 目标。
gentleman
功能齐全的插件驱动的HTTP客户端库.
go-cleanhttp
轻松获取 stdlib HTTP 客户端,它不与其他客户端共享任何状态.
go-http-client
简单轻松地进行 http 调用.
go-otelroundtripper
去 http.RoundTripper,用于发出 HTTP 请求的开放遥测指标。
JSON
ajson
具有 JSONPath 支持的 golang 抽象 JSON.
ask
轻松访问地图和切片中的嵌套值。与 encoding/json 和其他将任意数据“解编”为 Go 数据类型的包结合使用。
dynjson
动态API的客户端可自定义的JSON格式.
ej
简洁地编写和读取来自不同来源的 JSON.
epoch
包含用于将 Unix 时间戳/纪元封送至/从内置时间封送/解封的基元。JSON 中的时间类型。
Office
unioffice
用于创建和处理Office Word(.docx),Excel(.xlsx)和Powerpoint(.pptx)文档的纯go库。
OpenGL
gl
OpenGL 的 Go 绑定(通过 glow 生成)。
glfw
GLFW 3 的 Go 绑定。
go-glmatrix
glMatrix 库的 Go 端口。
goxjs/gl
Go 跨平台 OpenGL 绑定(OS X、Linux、Windows、浏览器、iOS、Android).
goxjs/glfw
用于创建 OpenGL 上下文和接收事件的跨平台 glfw 库.
ORM
bun
SQL-first Golang ORM.go-pg的继任者。
cacheme
Go 的基于架构的类型化 Redis 缓存/记忆框架.
go-dbw
封装数据库操作的简单包。
go-firestorm
用于 Google/Firebase Cloud Firestore 的简单 ORM.
slug
go-slugify
使用多种语言支持制作漂亮的 slug.
slug
具有多种语言支持的 URL 友好型 slugify.
slugify
Slugify - 处理字符串的 应用程序.
UUID
goid
生成和解析符合 RFC4122 的 V4 UUID。
gouid
只需一次分配即可生成加密安全的随机字符串 ID。
nanoid
一个小巧而高效的 Go 唯一字符串 ID 生成器.
sno
带有嵌入式元数据的紧凑、可排序和快速的唯一 ID.
ulid
ULID(通用唯一词典可排序标识符)的 Go 实现。
WebAssembly
dom
DOM 库。
go-canvas
使用 HTML5 Canvas 的库,所有绘图都在 go 代码中.
tinygo
用于小地方的 Go 编译器.微控制器、WebAssembly 和命令行工具。基于 LLVM。
vert
Go 和 JS 值之间的互操作。
wasmbrowsertest
在浏览器中运行 Go WASM 测试。
Web框架
aah
用于 Go 的可扩展、高性能、快速开发的 Web 框架.
Aero
Go 的高性能 Web 框架,在 Lighthouse 中得分最高.
Air
一个理想的 Go 网络框架.
anoweb
轻量级且功能强大的 Web 框架,使用 Go.Another 的新方式.
appy
一个固执己见的高效 Web 框架,有助于更轻松地扩展业务.
Windows
d3d9
Direct3D9 的 Go 绑定。
go-ole
golang 的 Win32 OLE 实现.
gosddl
从 SDDL 字符串到用户友好型 JSON 的转换器.SDDL 由四部分组成:所有者、主组、DACL、SACL。
XML
XML-Comp -
简单的命令行 XML 比较器,可生成文件夹、文件和标签的差异.
xml2map
XML 到 MAP 转换器编写的 Golang.
xmlwriter
基于 libxml2 的 xmlwriter 模块的过程 XML 生成 API.
xpath
Go 的 XPath 包。
xquery
XQuery允许您使用XPath表达式从HTML / XML文档中提取数据.
zero-trust
Cosign
OCI 注册表中的容器签名、验证和存储。
in-toto
in-toto(提供保护软件供应链完整性的框架)python 参考实现的 Go 实现.
Spiffe-Vault -
利用 Spiffe JWT 身份验证和 Hashicorp Vault 进行无机密身份验证。
Spire
SPIRE(SPIFFE 运行时环境)是一个 API 工具链,用于在各种托管平台上的软件系统之间建立信任.
中间件 - HTTP中间件
alice
Go 的无痛中间件链接.
卡特纳
http.处理程序包装器分类(与“chain”相同的 API)。
chain
使用作用域数据(基于网络/上下文的“中间件”)的处理程序包装器链接.
gores
处理 HTML、JSON、XML 等响应的 Go 包.对 RESTful API 很有用。
interpose
golang 的极简 net/http 中间件.
中间件 - 实际中间件
client-timing
Server-Timing 标头的 HTTP 客户端。
CORS
轻松将 CORS 功能添加到您的 API.
echo-middleware
具有日志记录和指标的 Echo 框架中间件.
formjson
透明地将JSON输入作为标准表单POST处理.
go-fault
Go 的故障注入中间件.
代码分析
apicompat
检查最近对 Go 项目所做的更改,以查找向后不兼容的更改。
asty
将 golang AST 转换为 JSON,将 JSON 转换为 AST。
blanket
blanket 是一个工具,可帮助您捕获 Go 包中没有直接单元测试的函数.
ChainJacking
查找哪些 Go lang 直接 GitHub 依赖项容易受到 ChainJacking 攻击。
Chronos
静态检测争用条件
代码生成工具
convergen
功能丰富的类型到类型复制代码生成器.
copygen
生成类型到类型和基于类型的代码,而无需反射.
generis
代码生成工具,提供泛型,自由格式宏,条件编译和HTML模板.
go-enum
从代码注释生成枚举的代码.
go-linq
Go 的类似 .NET LINQ 的查询方法。
位打包和压缩
bingo
将本机类型打包为字节的快速、零分配、字典顺序保留.
binpacker
二进制打包器和解包器帮助用户构建自定义二进制流.
bit - Golang 设置数据结构,具有额外的 bit-twiddling 函数.
crunch
Go 包实现缓冲区,用于轻松处理各种数据类型.
go-ef
Elias-Fano 编码的 Go 实现.
位集
bitmap
Go 中密集、零分配、启用 SIMD 的位图/位集。
bitset
实现位集的 Go 包。
依赖注入
alice
Golang 的附加依赖注入容器.
boot-go
基于 Component 的开发,使用 Go 开发人员的反射进行依赖注入.
di
go 编程语言的依赖注入容器。
dig
Go 的基于反射的依赖注入工具包.
dingo
基于 Guice 的 Go 依赖注入工具包.
依赖管理
go modules
模块是源代码交换和版本控制的单元。go 命令直接支持使用模块,包括记录和解析对其他模块的依赖关系。
dep
Go 依赖工具。
vgo
版本化的 Go。
glide
轻松管理您的 golang 供应商和供应商包。灵感来自 Maven、Bundler 和 Pip 等工具。
Godep
Go 的依赖工具,Godep 通过修复它们的依赖关系来帮助可重复地构建包.
其他数据结构和算法
concurrent-writer
高度并发的直接替换。bufio.Writer
conjungo
一个小巧、强大且灵活的合并库。
count-min-log
Go 实现 Count-Min-Log sketch:使用近似计数器进行近似计数(类似于 Count-Min sketch,但使用较少的内存).
fsm
有限状态机软件包。
genfuncs
受 Kotlin 的 Sequence 和 Map 启发的 Go 1.18+ 泛型包.
其他软件
Better Go Playground
具有语法高亮、代码完成和其他功能的 Go Playground.
blocky
快速轻量级的 DNS 代理作为具有许多功能的本地网络的广告拦截器.
borg
基于终端的bash片段搜索引擎.
boxed
基于Dropbox的博客引擎.
Cherry
Go 中的微型网络聊天服务器.
函数式编程
fp-go
由 Golang 1.18+ 泛型提供支持的函数式编程助手集合.
fpGo
Monad,Golang 的函数式编程功能.
fuego
围棋中的功能实验.
go-functional
使用泛型在 Go 中进行函数式编程
go-underscore
有用的功能强大的 Go 集合实用程序的集合.
分布式系统
arpc
更有效的网络通信,支持双向通话、通知、广播。
celeriac
用于添加对 Go 中交互和监控 Celery worker、任务和事件的支持的库.
consistent
具有有限负载的一致哈希。
consistenthash
具有可配置副本的一致哈希。
dht
BitTorrent Kademlia DHT 实现。
分词器
gojieba
这是 jieba 的 Go 实现,它是一种中文分词算法.
gotokenizer
基于 Golang 的字典和 Bigram 语言模型的分词器.(现在只支持中文分割)
gse
高效的文本分割;支持英文、中文、日文等。
MMSEGO
这是 MMSEG 的 GO 实现,它是一种中文分词算法.
prose
用于文本处理的库,支持标记化,词性标记,命名实体提取等.仅提供英文版。
动态 DNS
DDNS
以 Digital Ocean Networking DNS 作为后端的个人 DDNS 客户端。
dyndns
Background Go 流程会定期自动检查您的 IP 地址,并在您的地址更改时更新(一个或多个)Google 网域的动态 DNS 记录。
GoDNS
一个动态的DNS客户端工具,支持DNSPod和 HE.net,用Go编写。
区块链
cometbft
分布式,拜占庭容错,确定性状态机复制引擎.它是 Tendermint Core 的一个分支,实现了 Tendermint 共识算法。
cosmos-sdk
用于在 Cosmos 生态系统中构建公共区块链的框架。
go-ethereum
以太坊协议的官方 Go 实现.
gossamer
Polkadot 主机的 Go 实现。
kubo
用Go实现的区块链框架.它提供内容可寻址存储,可用于 DApp 中的去中心化存储。它基于IPFS协议。
可为 null 的类型
nan
零分配 一个库中的可空结构,具有方便的转换函数、编组器和非编组器。
null
可以编组/取消编组到 JSON 或从 JSON 编组的可为 null 的 Go 类型。
typ
Null 类型,安全基元类型转换和从复杂结构中获取值。
可嵌入的脚本语言
anko
用 Go 编写的可编写脚本的解释器.
binder
转到基于 gopher-lua 的 Lua 绑定库。
cel-go
快速、可移植、非图灵完整的表达式评估,具有渐进式类型.
ecal
一种简单的可嵌入脚本语言,支持并发事件处理.
expr
Go 的表达式评估引擎:快速、非图灵完备、动态类型、静态类型.
国际化
go-i18n
用于处理本地化文本的包和随附工具.
go-localize
简单易用的 i18n(国际化和本地化)引擎 - 用于翻译语言环境字符串。
go-mystem
CGo 绑定到 Yandex.Mystem - 俄罗斯形态分析器.
go-pinyin
CN 汉字到汉语拼音转换器。
gotext
Go 的 GNU gettext 实用程序。
图像
bild
纯Go中的图像处理算法的集合.
bimg
使用libvips进行快速高效图像处理的小型软件包.
cameron
Go 的头像生成器。
canvas
矢量图形到 PDF、SVG 或光栅化图像。
color-extractor
没有外部依赖关系的主颜色提取器.
地图
cmap
Go 的线程安全并发映射,支持用作密钥和自动扩展分片。interface{}
dict
Go 的类似 Python 的字典 (dict)。
goradd/maps
Go 1.18+ 地图通用地图界面;安全地图;有序地图;有序、安全的地图;等。
地理工具和服务器
geoserver - geoserver
是一个 Go 包,用于通过 GeoServer REST API 操作 GeoServer 实例。
gismanager
将您的GIS数据(矢量数据)发布到PostGIS和Geoserver。
godal
GDAL 的包装器.
H3
H3 的 Go 绑定,H<> 是一个分层六边形地理空间索引系统.
H3 GeoJSON
H3索引和GeoJSON之间的转换实用程序.
基准
autobench
比较不同Go版本之间性能的框架.
go-benchmark-app
强大的 HTTP 基准测试工具,混合了 Аb、Wrk、Siege 工具.收集统计数据和各种参数,用于基准和比较结果。
go-benchmarks
一些杂项的 Go 微基准测试.将某些语言功能与其他方法进行比较。
go-http-routing-benchmark
Go HTTP 请求路由器基准测试和比较.
go-json-benchmark
Go JSON 基准测试.
字符串处理
bexp
大括号扩展机制的 Go 实现以生成任意字符串。
caps
大小写转换库.
go-formatter
实现由大括号格式字符串包围的替换字段。{}
gobeam/Stringy
字符串操作库,用于将字符串转换为骆驼大小写、蛇大小写、烤肉串大小写/slugify 等.
strutil
字符串实用程序。
安全
acmetool
具有自动续订功能的ACME(Let's Encrypt)客户端工具。
acra
网络加密代理,以保护基于数据库的应用程序免受数据泄漏:强大的选择性加密,SQL注入预防,入侵检测系统.
age
一个简单、现代和安全的加密工具(和 Go 库),具有小的显式密钥、没有配置选项和 UNIX 风格的可组合性.
argon2-hashing
Go 的 argon2 包的轻量级包装器,与 Go 的标准库 Bcrypt 和 simple-scrypt 包紧密镜像.
argon2pw
具有恒定时间密码比较的 Argon2 密码哈希生成.
实用程序和工具
air
Air - Go 应用的实时重新加载。
apm
具有HTTP API的Golang应用程序的进程管理器.
backscanner
类似于 bufio 的扫描仪。扫描器,但它以相反的顺序读取和返回行,从给定位置开始向后移动。
beyond
将带您进入 AOP 世界的 Go 工具!
blank
验证或删除字符串中的空格和空格。
工具
colorgo
用于彩色输出的包装器命令。gogo build
depth
通过分析导入来可视化任何包的依赖关系树。
docs
为 GO 项目自动生成 RESTful API 文档 - 符合开放 API 规范标准。
go-callvis
使用点格式可视化 Go 程序的调用图.
go-james
Go 项目骨架创建器,无需手动设置即可构建和测试您的项目.
序列化
asn1
golang 的 Asn.1 BER 和 DER 编码库.
bambam
来自 Go 的 Cap'n Proto 模式生成器.
bel
从 Go 结构/接口生成 TypeScript 接口.对 JSON RPC 很有用。
binstruct
用于将数据映射到结构中的 Golang 二进制解码器.
cbor
小型,安全,简单的CBOR编码和解码库.
形态分析仪
go-stem
porter 词干提取算法的实现.
go2vec
用于 word2vec 嵌入的读取器和实用程序函数.
golibstemmer
雪球 libstemmer 库(包括 porter 2)的 Go 绑定。
gosentiwordnet
在 Go 中使用 sentiwordnet 词典的情感分析器.
govader
VADER情绪分析的Go实现.
性能
go-instrument
自动为所有方法和函数添加跨度。
jaeger
分布式跟踪系统.
pixie
没有通过 eBPF 对 Golang 应用程序进行检测跟踪.
profile
Go 的简单分析支持包。
statsviz
Go 应用程序运行时统计信息的实时可视化。
持续集成
CDS
企业级 CI/CD 和 DevOps 自动化开源平台。
drone
Drone 是一个基于 Docker 构建的持续集成平台,用 Go 编写.
duci
一个简单的 ci 服务器,不需要特定于域的语言。
go-fuzz-action
在 GitHub Actions 中使用 Go 1.18 的内置模糊测试.
go-test-coverage
工具和 GitHub 操作,用于在测试覆盖率低于设定阈值时报告问题.
数据库 - Go实现的数据库
badger
Go 中的快速键值存储。
bbolt
Go 的嵌入式键/值数据库。
Bitcask
Bitcask 是一个可嵌入的、持久的和快速的键值 (KV) 数据库,用纯 Go 编写,具有可预测的读/写性能、低延迟和高吞吐量,这要归功于 bitcask 磁盘布局 (LSM+WAL).
buntdb
用于 Go 的快速、可嵌入、内存中的键/值数据库,具有自定义索引和空间支持.
clover
用纯 Golang 编写的轻量级面向文档的 NoSQL 数据库.
数据库 - SQL 查询生成器
bqb
轻量级且易于学习的查询构建器.
buildsqlx
PostgreSQL的Go数据库查询构建器库.
builq
在 Go 中轻松构建 SQL 查询.
dbq
Go 的零样板数据库操作.
Dotsql
Go 库,可帮助您将 sql 文件保存在一个地方并轻松使用它们.
数据库 - 数据库工具
chproxy
ClickHouse 数据库的 HTTP 代理。
clickhouse-bulk
收集小插入并向 ClickHouse 服务器发送大请求。
dbbench
数据库基准测试工具,支持多个数据库和脚本.
dg
一个快速数据生成器,从生成的关系数据生成 CSV 文件。
dynago
简化 AWS DynamoDB 的使用。
数据库 - 架构迁移
atlas
数据库工具包。旨在帮助公司更好地处理其数据的 CLI。
avro
发现SQL架构并将其转换为AVRO架构.将 SQL 记录查询为 AVRO 字节。
bytebase
DevOps团队的安全数据库架构更改和版本控制.
darwin
Go 的数据库模式演化库.
dbmate
一个轻量级的、与框架无关的数据库迁移工具。
数据库 - 缓存
2Q
2Q 内存缓存实现。
bcache
最终一致性的分布式内存缓存Go库.
BigCache
千兆字节数据的高效键/值缓存.
cache
内存中键:值存储,具有过期时间、0 依赖项、<100 LoC、100% 覆盖率。
cache2go
内存中键:值缓存,支持基于超时的自动失效.
数据库驱动程序 - NoSQL
aerospike-client-go
Go 语言的 Aerospike 客户端.
arangolite
ArangoDB 的轻量级 golang 驱动程序.
asc
Aerospike for go 的数据存储连接。
forestdb
ForestDB 的 Go 绑定.
go-couchbase
Go 中的 Couchbase 客户端.
数据库驱动程序 - 关系数据库驱动程序
avatica
用于database/sql的Apache Avatica/Phoenix SQL驱动程序.
bgc
BigQuery for go 的数据存储连接。
firebirdsql
适用于 Go 的 Firebird RDBMS SQL 驱动程序.
go-adodb
Microsoft ActiveX 对象数据库驱动程序,用于使用数据库/sql。
go-mssqldb
Microsoft 用于 Go 的 MSSQL 驱动程序。
数据库驱动程序 - 多个后端的接口
cayley
支持多个后端的图形数据库.
dsc
SQL、NoSQL、结构化文件的数据存储连接。
go-transaction-manager
具有多个适配器(sql、sqlx、gorm、mongo 等)的事务管理器控制事务边界。
gokv
Go 的简单键值存储抽象和实现(Redis、Consul、etcd、bbolt、BadgerDB、LevelDB、Memcached、DynamoDB、S3、PostgreSQL、MongoDB、CockroachDB 等等).
数据库驱动程序 - 搜索和分析数据库
clickhouse-go
具有兼容性的 Go 的 ClickHouse SQL 客户端.database/sql
elastic
Go的Elasticsearch客户端.
elasticsql
在 Go 中将 sql 转换为 elasticsearch dsl.
elastigo
Elasticsearch客户端库.
go-elasticsearch
Go 的官方 Elasticsearch 客户端。
数据结构和算法集合
algorithms
算法和数据结构。CLRS研究。
go-datastructures
有用,高性能和线程安全的数据结构的集合.
gods
Go 数据结构.容器、集合、列表、堆栈、映射、双向映射、树、哈希集等。
gostl
go的数据结构和算法库,旨在提供类似于C++ STL的功能。
文件处理
afero
Go 的文件系统抽象系统.
afs
Go 的抽象文件存储(mem、scp、zip、tar、cloud:s3、gs)。
baraka
一个可以轻松处理 http 文件上传的库.
bigfile
一个文件传输系统,支持使用 http api、rpc 调用和 ftp 客户端管理文件。
文本 - RSS
podcast
Golang 中的 iTunes 兼容和 RSS 2.0 播客生成器
文本 - 杂项
go-runewidth
用于获取字符或字符串固定宽度的函数。
go-zero-width
Go 的零宽度字符检测和删除.
kace
涵盖常见首字母缩写的常见大小写转换。
petrovich
Petrovich 是将俄语名称转换为给定语法大小写的库。
文本 - 标记语言
bafi
使用模板将通用 JSON、BSON、YAML、XML 转换器转换为任何格式.
bbConvert
将 bbCode 转换为 HTML,允许您添加对自定义 bbCode 标签的支持。
blackfriday
Go 中的 Markdown 处理器.
github_flavored_markdown
GitHub 风格的 Markdown 渲染器(使用 blackfriday),带有防护代码块突出显示、可点击的标题锚链接.
文本 - 格式化程序
address
处理地址表示、验证和格式设置。
align
对齐文本的通用应用程序。
bytes
格式化和解析数字字节值(10K、2M、3G 等)。
go-fixedwidth
固定宽度的文本格式(带反射的编码器/解码器).
文本 - 正则表达式
genex
计算正则表达式并将其展开到所有匹配的字符串中。
go-wildcard
简单轻量级的通配符模式匹配。
goregen
用于从正则表达式生成随机字符串的库.
regroup
使用结构标记和自动解析将名为 groups 的正则表达式匹配到 go struct 中。
文本 - 清理
bluemonday
HTML 清理器.
gofuckyourself
Go 的基于清理的脏话过滤器.
文本 - 爬虫
colly
快速优雅的 Gophers 抓取框架.
dataflowkit
将网站转换为结构化数据的网页抓取框架.
go-recipe
用于从网站抓取食谱的软件包.
GoQuery
GoQuery 为 Go 语言带来了类似于 jQuery 的语法和一组功能.
文本 - 解析
allot
CLI 工具和机器人的占位符和通配符文本解析。
codetree
解析缩进代码(python、pixy、scarlet 等)并返回树结构。
commonregex
Go 的常见正则表达式的集合。
did
Go 中的 DID(去中心化标识符)解析器和字符串器。
文本分析
bleve
go 的现代文本索引库。
go-adaptive-radix-tree
自适应基数树的 Go 实现.
go-edlib
与 Unicode 兼容的 Go 字符串比较和编辑距离算法库(Levenshtein、LCS、Hamming、Damerau levenshtein、Jaro-Winkler 等).
levenshtein
Levenshtein 距离和相似度指标,具有可自定义的编辑成本和类似 Winkler 的通用前缀奖励.
日志
distillog
蒸馏的分级日志记录(可以将其视为 stdlib + 日志级别)。
glg - glg
是 Go 的简单快速分级日志库.
glo
受PHPMonolog启发的日志记录工具,具有相同的严重性级别.
glog
Go 的分级执行日志。
日期和时间
approx
持续时间扩展,支持以天、周和年为单位的解析/打印持续时间。
carbon
一个简单、语义和开发人员友好的 golang 包,用于日期时间.
carbon
带有许多 util 方法的简单时间扩展,从 PHP Carbon 库移植而来.
cronrange
解析 Cron 样式的时间范围表达式,检查给定时间是否在任何范围内。
服务器应用程序
algernon
HTTP/2 Web服务器,内置支持Lua,Markdown,GCSS和Amber.
Caddy - Caddy
是一种易于配置和使用的替代 HTTP/2 Web 服务器.
consul
Consul 是一个用于服务发现、监控和配置的工具。
cortex-tenant
Prometheus 远程写入代理,用于根据指标标签添加添加 Cortex 租户 ID 标头。
未分类
anagent
具有依赖注入的简约、可插拔的 Golang evloop/计时器处理程序.
antch
快速,强大且可扩展的网络爬虫和抓取框架.
archiver
用于制作和提取 .zip 和 .tar.gz 存档的库和命令。
autoflags
Go 包,用于从结构字段自动定义命令行标志。
机器人构建
bot
具有附加 UI 组件的零依赖 Telegram 机器人库
echotron
Go 中用于 Telegram Bots 的优雅并发库.
ephemeral-roles
一个 Discord 机器人,用于根据语音频道成员的存在管理临时角色.
go-chat-bot
用 Go 编写的 IRC、Slack 和 Telegram 机器人.
机器学习
bayesian
Golang 的朴素贝叶斯分类.
CloudForest
用于纯 Go 机器学习的快速、灵活、多线程决策树集成.
ddt
动态决策树,创建定义可自定义规则的树。
eaopt
进化优化库.
构建自动化
1build
命令行工具,用于顺畅地管理特定于项目的命令。
anko
多种编程语言的简单应用程序观察器.
gaper
当 Go 项目崩溃或某些监视文件更改时,构建并重新启动它。
gilbert
为 Go 项目构建系统和任务运行器.
构建项目
ardanlabs/service
用于构建生产级可扩展Web服务应用程序的入门套件.
cookiecutter-golang
一个 Go 应用程序样板模板,用于按照生产最佳实践快速启动项目.
go-module
用 Go 编写的典型模块的模板.
go-sample
带有真实代码的 Go 应用程序项目的示例布局.
查询语言
api-fu -
全面的GraphQL实现.
dasel
使用命令行中的选择器查询和更新数据结构.与 jq/yq 相当,但支持 JSON、YAML、TOML 和 XML,运行时依赖性为零。
gojsonq
一个简单的 Go 包,用于查询 JSON 数据.
goven
适用于任何数据库模式的插入式查询语言.
标准CLI
acmd
Go 中简单、有用且固执己见的 CLI 包.
argparse
受 Python 的 argparse 模块启发的命令行参数解析器.
argv
使用 bash 语法将命令行字符串拆分为参数数组的 Go 库.
carapace
spf13/cobra 的命令参数完成生成器.
hashsplit
将字节流拆分为块,并将块排列成树,边界由内容而不是位置决定。
merkle -Merkle
根哈希和包含证明的空间效率计算.
skiplist
非常快速的 Go Skiplist 实现.
skiplist
Go 中的跳过列表实现.
模板引擎
ego
轻量级模板语言,可让您在 Go 中编写模板.模板被翻译成 Go 并编译。
extemplate
围绕 html/template 的微型包装器,允许轻松进行基于文件的模板继承.
fasttemplate
简单快速的模板引擎.替换模板占位符的速度比文本/模板快 10 倍。
gospin
文章旋转和 spintax/spinning 语法引擎,可用于 A/B、测试文本/文章片段和创建更自然的对话.
流处理
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...
测试 - Selenium和浏览器控制工具
cdp
Chrome 调试协议的类型安全绑定,可用于浏览器或其他实现该协议的调试目标。
chromedp
一种驱动/测试 Chrome、Safari、Edge、Android Webviews 和其他支持 Chrome 调试协议的浏览器的方法。
ggr
一个轻量级服务器,将 Selenium WebDriver 请求路由和代理到多个 Selenium 集线器。
playwright-go
浏览器自动化库,可通过单个API控制Chromium,Firefox和WebKit.
测试 - 框架
apitest
基于REST的服务或HTTP处理程序的简单且可扩展的行为测试库,支持模拟外部http调用和序列图的呈现.
assert
与原生 Go 测试一起使用的基本断言库,带有用于自定义断言的构建块.
badio
Go 包的扩展。testing/iotest
baloo
富有表现力且多功能的端到端 HTTP API 测试变得简单.
测试 - 模拟
counterfeiter
用于生成独立模拟对象的工具。
genmock
带有代码生成器的模拟系统,用于构建接口方法的调用.
go-localstack
用于在 AWS 测试中使用 localstack 的工具。
go-sqlmock -
用于测试数据库交互的模拟SQL驱动程序.
测试 - 模糊测试和增量调试
go-fuzz -
随机测试系统.
gofuzz
用于使用随机值填充 go 对象的库.
Tavor
通用模糊测试和增量调试框架.
测试 - 注入失败
failpoint
Golang 的失败点实现.
消息传递系统
ami
将客户端转到基于 Redis 集群流的可靠队列。
amqp
Go RabbitMQ 客户端库。
APNs2
适用于 Go 的 HTTP/2 Apple 推送通知提供程序 — 向 iOS、tvOS、Safari 和 OSX 应用程序发送推送通知。
Asynq
基于 Redis 构建的简单、可靠且高效的 Go 分布式任务队列.
游戏开发
Azul3D
用 Go 编写的 3D 游戏引擎.
Ebitengine
Go 中非常简单的 2D 游戏引擎。
engo - Engo
是一个用 Go 编写的开源 2D 游戏引擎.它遵循实体-组件-系统范式。
fantasyname
幻想名称生成器.
版本控制
cli
一个开源的 GitLab 命令行工具,将 GitLab 的酷炫功能带到您的命令行.
froggit-go
Froggit-Go 是一个 Go 库,允许对 VCS 提供程序执行操作.
gh
GitHub Webhooks的可编写脚本的服务器和net/http中间件.
git2go
libgit2 的 Go 绑定。
物联网
connectordb
用于量化自我和物联网的开源平台.
devices
用于物联网设备的库套件,用于x/exp/io的实验性.
ekuiper
用于物联网边缘的轻量级数据流处理引擎.
eywa - Project Eywa
本质上是一个连接管理器,用于跟踪连接的设备.
生成工具
generic
Go 的灵活数据类型。
genny
Go 的优雅泛型.
gocontracts
通过将代码与文档同步,将按合同设计引入 Go.
godal
通过指定 sql ddl 文件生成 golang 对应的 orm 模型,gorm 可以使用该文件。
电子邮件
chasquid
用 Go 编写的 SMTP 服务器。
douceur
用于 HTML 电子邮件的 CSS 内联.
email
一个强大而灵活的 Go 电子邮件库。
email-verifier
一个用于电子邮件验证的 Go 库,无需发送任何电子邮件.
硬件
arduino-cli -
官方Arduino CLI和库.可以独立运行,也可以合并到更大的 Go 项目中。
emgo
用于对嵌入式系统(例如STM32 MCU)进行编程的类Go语言.
ghw
Golang 硬件发现/检查库.
go-osc
Go 的打开声音控制 (OSC) 绑定.
科学与数据分析
assocentity
包 assocentity 返回从单词到给定实体的平均距离。
bradleyterry
提供用于成对比较的 Bradley-Terry 模型.
calendarheatmap
受 Github 贡献活动启发的纯 Go 日历热图.
chart
Go 的简单图表绘图库。支持多种图形类型。
第三方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.
管道
ordered-concurrently
Go 模块,该模块并发处理工作并按输入顺序返回通道中的输出。
parapipe
FIFO Pipeline,它在每个阶段并行执行,同时保持消息和结果的顺序。
pipeline
具有扇入和扇出的管道的实现。
编辑器插件
Vim/Neovim 的 coc-go 语言服务器扩展 -
此插件为 Vim/Neovim 添加了 gopls 功能。
Go Doc
一个 Visual Studio Code 扩展,用于在输出中显示定义并生成 go doc。
go-language-server
将 VSCode go 扩展转换为支持 language-server-protocol 的语言服务器的包装器。
网络
arp - 软件包 arp
实现 ARP 协议,如 RFC 826 中所述。
buffstreams
通过 TCP 流式传输协议缓冲区数据变得容易.
canopus
CoAP 客户端/服务器实现 (RFC 7252).
cidranger
Go 的快速 IP 到 CIDR 查找。
表单
bind
将表单数据绑定到任何 Go 值。
binding
将表单和 JSON 数据从 net/http 请求绑定到 struct。
checker - Checker
通过结构标记中定义的规则或直接通过函数帮助验证用户输入.
conform
检查用户输入。根据结构标签修剪、清理和清理数据。
视频
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 播放列表解析兼容性。
语言检测
detectlanguage
语言检测API Go客户端.支持批量请求、短短语或单词语言检测。
getlang
快速自然语言检测包.
guesslanguage
用于确定 unicode 文本的自然语言的函数。
whatlanggo
Go 的自然语言检测包。支持 84 种语言和 24 种文字(书写系统,例如拉丁文、西里尔文等)。
调度作业
cdule
支持数据库的作业调度程序库
cheek
一个简单的类似调度程序的 crontab,旨在提供 KISS 作业调度方法.
clockwerk
使用简单、流畅的语法安排定期作业的 Go 包.
cronticker
支持 cron 计划的 ticker 实现.
财务
会计
Golang 的货币和货币格式。
ach
自动清算所 (ACH) 文件的读取器、写入器和验证器。
bbgo
用 Go 编写的加密交易机器人框架.包括常见的加密交换 API、标准指标、回测和许多内置策略。
currency
处理货币金额,提供货币信息和格式。
资源嵌入
debme
从现有子目录创建一个。embed.FSembed.FS
esc
将文件嵌入到 Go 程序中并提供 http.FileSystem 接口。
fileb0x
在 go 中嵌入文件的简单工具,专注于“自定义”和易用性.
go-resources
使用 Go 嵌入的不合时宜的资源.
路由器
alien
来自外太空的轻量级快速 http 路由器.
bellt
一个简单的 Go HTTP 路由器。
Bone
闪电般的HTTP多路复用器.
Bxog
用于Go的简单快速的HTTP路由器.它适用于不同难度、长度和嵌套的路线。他知道如何从收到的参数创建 URL。
身份验证和 OAuth
authboss
用于Web的模块化身份验证系统.它试图尽可能多地删除样板和“困难的东西”,以便每次在 Go 中启动新的 Web 项目时,您都可以插入、配置它并开始构建您的应用程序,而无需每次都构建身份验证系统。
branca
Golang 1.15+ 的 branca 代币规范实现.
casbin
支持ACL,RBAC和ABAC等访问控制模型的授权库.
cookiestxt
提供 cookie.txt 文件格式的解析器。
迭代器
goterator
迭代器实现,以提供map和reduce功能.
iter
C++ STL 迭代器和算法的 Go 实现。
配置
aconfig
简单、有用且自以为是的配置加载器.
cleanenv
简约的配置读取器(来自文件,ENV和任何您想要的地方).
config
云原生应用程序配置。仅将 ENV 绑定到两行结构。
配置
在两行代码中使用文件、环境变量或标志配置应用
错误处理
emperror
Go 库和应用程序的错误处理工具和最佳实践.
eris
在 Go 中处理、跟踪和记录错误的更好方法。与标准错误库和 github.com/pkg/errors 兼容。
errlog
可破解的软件包,用于确定错误的源代码(以及其他一些快速调试功能).可就地插入任何记录器。
errors
标准库错误包和 github.com/pkg/errors 的直接替换。提供各种错误处理基元。
队列
deque
高度优化的双端队列。
deque
快速环形缓冲区 deque(双端队列)。
goconcurrentqueue
并发 FIFO 队列。
memlog
受 Apache Kafka 启发的易于使用、轻量级、线程安全且仅追加的内存数据结构.
dsu
Go 中的脱节集合数据结构实现。
golang-set
Go 的线程安全和非线程安全高性能集.
goset
Go 的有用 Set 集合实现。
set
使用 LinkedHashMap 在 Go 中实现简单的集合数据结构。
音译
enca
libenca 的最小 cgo 绑定,用于检测字符编码.
go-unidecode - Unicode
文本的 ASCII 音译.
gounidecode
Go 的 Unicode 音译器(也称为 unidecode)。
音译器
提供单向字符串音译,支持特定于语言的音译规则。
音频处理
flac
支持 FLAC 流的原生 Go FLAC 编码器/解码器.
gaad
Native Go AAC 比特流解析器.
GoAudio
本机Go音频处理库.
gosampleRate
Go 的 libSampleRate 绑定。
验证
checkdigit
提供校验位算法(Luhn、Verhoeff、Damm)和计算器(ISBN、EAN、JAN、UPC等)。
gody
🎈 Go 的轻量级结构验证器.
govalid
基于标记的结构的快速验证.
govalidator
字符串、数字、切片和结构的验证器和清理器.
高级控制台 UI
asciigraph
Go 包,用于在命令行应用程序中制作轻量级 ASCII 折线图 ╭┈╯,没有其他依赖项.
aurora
支持 fmt 的 ANSI 终端颜色。printf/sprintf。
box-cli-maker
为您的 CLI 制作高度定制的盒子.
bubble-table
珍珠奶茶的交互式表格组件.
框架
Gin
是一个用 Go 编写的 Web 框架!它具有类似马提尼酒的 API,性能更好,速度提高了 40 倍。如果您需要性能和良好的生产力。
ent
一个简单但功能强大的 Go 实体框架,可以轻松构建 并维护具有大型数据模型的应用程序。
GUI
walk
适用于 Go 的 Windows 应用程序库工具包。
ui
Go 的平台原生跨平台 GUI 库
govcl
跨平台的一个原生GUI库
  • 1
  • 2
  • 3
  • 4
  • 5