Awesome Go
此项目是 awesome-go 中文版,最后一次同步时间 : 2019-07-26 19:57:20(每隔1天同步一次)
为Awesome Go打赏~
精选了一系列很棒的Go框架、库和软件。灵感来自于awesome-python。
小图标说明 :
| 小图标 |
说明 |
| star数量 > 5000 的项目 |
| star数量 > 1000 的项目 |
| star数量 > 100 的项目 |
| 最近一周有更新。可以基本判断当前库处于积极维护状态。 |
| 最近一年没有更新。反应了此库的维护积极性不高,使用时需谨慎。 |
| 此项目有中文文档。 |
贡献
你可以快速浏览贡献者名单contribution guidelines. 感觉所有为此项目付出的同学contributors; 你真棒!
如果您在看到一个包或项目不再维护或不适合,请往awesome-go提交Pull Request,本项目每隔一天与英文文档同步。感谢!
内容
音频和音乐
用于操作音频的库。
| name |
star |
desc |
tag |
| 22 |
EasyMidi是一个简单可靠的库,用于处理标准midi文件(SMF)。 |
| 83 |
原生 Go FLAC解码器,将FLAC文件解码为字节片。 |
| 101 |
原生 Go FLAC编码器/解码器,支持FLAC流。 |
| 57 |
原生 Go AAC位流解析器。 |
| 93 |
libsox 的 Go 语言实现接口。 |
| 24 |
libmediainfo 的 Go 语言实现接口。 |
| 8 |
libsamplerate 的 Go 语言实现接口。 |
| 108 |
快速稳定的 ID3 解析及写入Go库。 |
| 70 |
迷你音频库。 |
| 25 |
轻量级MP3解码器库。 |
| 98 |
基于序列的 Go 原生音乐混音器。 |
| 89 |
原生 Go MP3解码器。 |
| 253 |
基于 Go 的音乐理论模型。 |
|
| 427 |
多平台的 low-level 声音播放库。 |
|
| 299 |
基于 Go 的PortAudio audio I/O库。 |
| 205 |
PortMidi的 Go 语言实现接口。。 |
|
| 66 |
taglib 的 Go 语言实现接口。。 |
| 22 |
“原生” Go Vorbis解码器(使用CGO,但没有依赖关系)。 |
| 248 |
通过音频流生成波形图像的包。 |
|
身份验证和OAuth
用于实现验证方案的库。
| name |
star |
desc |
tag |
| 1917 |
web模块化认证系统。它试图删除尽可能多的模板文件和硬编码,以便每次新建一个新的web项目时,您都可以插入、配置并开始构建您的应用程序,而不必每次都构建一个身份验证系统。 |
| 76 |
基于 Go 实现Branca令牌。 |
| 4861 |
支持ACL、RBAC、ABAC等访问控制模型的授权库。 |
| 2 |
提供cookie .txt文件格式的解析器。 |
| 1117 |
相当完整地实现了JOSE工作组的JSON Web令牌、JSON Web签名和JSON Web加密规范。 |
|
| 1270 |
用 Golang 编写的独立且符合规范的OAuth2服务器。 |
| 1037 |
用于使用OAuth1和OAuth2身份验证提供者登录的可链处理程序。 |
| 903 |
轻量级的基于角色的访问控制(RBAC)实现。 |
| 2251 |
提供了 OAuth 和 OAuth2 的简单清晰易用的方法。可开箱即用处理多个提供程序。 |
| 178 |
HTTP身份验证中间件。 |
|
| 68 |
简单易用的JSON Web令牌实现(JWT)。 |
| 86 |
轻量级JSON Web令牌库。 |
| 151 |
JWT中间件,可用于Golang http服务器,提供了许多配置选项。 |
| 5888 |
JSON Web令牌(JWT)。 |
|
| 807 |
JWT登录微服务带有可插拔的后端服务,如OAuth2 (Github)、htpasswd、osiam。 |
| 2367 |
goauth2的继任者。通用OAuth 2.0包,附带JWT、谷歌api、计算引擎和应用程序引擎支持。 |
| 1536 |
OAuth2服务器库。 |
| 237 |
平台无关的安全令牌(PASETO)。 |
| 351 |
用于跟踪用户、登录状态和权限的库。依赖于cookie安全和bcrypt。 |
| 27 |
最小的RBAC包。 |
| 522 |
HTTP服务器的会话管理器。 |
| 32 |
高效安全的cookie编码/解码。 |
| 88 |
web服务器会话管理(包括支持谷歌应用程序引擎 - GAE)。 |
| 8 |
使用SessionGate Redis模块进行会话管理。 |
| 46 |
非常简单,高性能,可深度定制的会话服务,主要用于的 go http 服务器。 |
| 7 |
与Tornado's 完全兼容的签名和时间戳字符串实现. create_signed_value ', ' decode_signed_value ',因此' set_secure_cookie '和' get_secure_cookie '。 |
| 31 |
简单的jwt生成器和解析器。 |
Bot建设
用于构建和使用机器人的库。
| name |
star |
desc |
tag |
| 466 |
用 Go 编写的IRC, Slack和电报机器人。 |
|
| 136 |
此框架提供了聊天机器人相关的服务,包括LINE、Slack、Gitter等。 |
|
| 85 |
由swagger文件、基于会话的路由器和中间件生成的纯Golang Telegram Bot API包装器。 |
| 215 |
基于控制台的,用于加密货币交易所的的交易机器人。 |
| 24 |
简单的Go VK bot库。 |
| 108 |
用于编写Slack机器人的框架。 |
| 156 |
官方交易和做市机器人为Stellar DEX。开箱即用的作品,用 Golang 编写,兼容集中交易和定制交易策略。 |
|
| 56 |
构建电报机器人的框架。 |
| 10 |
基于 GO 实现的Telegram 机器人API库。 |
| 304 |
可简单创建Slack机器人的框架。 |
| 10 |
另一个构建Slack机器人的框架。 |
| 216 |
带有类似于net/http API的Telegram bot服务器。 |
| 942 |
用Go编写的Telegram bot框架。 |
|
| 1609 |
简单轻量级的Telegram bot客户端。 |
|
| 167 |
面向服务的IRC bot,使用Redis和JSON进行消息传递。 |
|
命令行
标准CLI
用于构建标准或基本命令行应用程序的库。
| name |
star |
desc |
tag |
| 104 |
命令行参数分析器,灵感来自Python的argparse模块。 |
| 17 |
基于Base 语法,用于分隔命令行字符串并将其作为参数的 Go 语言库, |
| 473 |
基于golang结构标签,功能丰富易于使用的命令行包。 |
| 57 |
为 Go 构建命令接口提供简单而完整的API。 |
| 868 |
一个简单就可开启构建Golang命令行的应用程序。 |
|
| - |
Alternative CLI with "human face", in spirit of Go command. |
| 11 |
一个POSIX/GNU风格的、类似getopt的命令行UI Go库。 |
| 13107 |
现代Go CLI命令行交互工具。 |
|
| 87 |
开发友好的CLI应用程序。 |
| 610 |
使用 Go 语言编写的 bash 命令补全工具以及 Go 命令补全工具. |
| 1171 |
会让你满意的命令行参数解析器。 |
| 41 |
基于标记的结构化的环境配置。 |
| 100 |
简单但功能强大的命令行选项解析库,用于支持Go子命令。 |
| 446 |
一个健壮的、易用的标志包,具有出色的子命令支持。 |
| 31 |
符合 Go 标准的“flag”标志参数类型包。 |
| 653 |
基于结构的参数解析。 |
| 15 |
用于简化CLI工作流的 Go 库。 |
| 1501 |
Go 命令行选项解析器。 |
| 7 |
Go 选择解析器,借鉴于Perl灵活性的GetOpt::Long。 |
| 33 |
用于构建命令行应用程序。 |
| - |
具有自动配置和依赖注入的cli应用程序框架。 |
| 49 |
工作,把你的短期指令当作长期任务。 |
| 2522 |
支持子命令的命令行和标志解析器。 |
| 580 |
类似readline-like的命令行接口库。 |
| 994 |
用于实现命令行接口的Go库。 |
| 620 |
用于构建具有复杂标志和参数解析和验证的CLI应用程序。 |
| 259 |
Unikernel 构建器/协调器。 |
|
| 747 |
基于POSIX/GNU-style --flags实现的包,主要用于替换Go的falg包。 |
| 1362 |
纯golang实现,在MIT许可下提供了GNU-Readline的大部分特性。 |
| 5 |
用于创建解释器等的简单API。 |
| 87 |
基于结构的flag生成器,用于flag、urfave/cli、pflag、cobra、kingpin和其他库。 |
| 27 |
用于创建提示链。 |
| 4 |
时间戳转换和比较工具。 |
| 97 |
简小的命令行接口框架。 |
| 11272 |
可让你简单、快速和愉快的构建命令行应用(之前是codegangsta/cli)。 |
|
| 35 |
支持跨平台和并发的简单日志记录接口。 |
| 84 |
为cli程序提供了简单上手的菜单,可提示用户作出选择。 |
高级控制台用户界面
用于构建控制台应用程序和控制台用户界面的库。
| name |
star |
desc |
tag |
| 1131 |
在命令行中构建轻量级ASCII线图╭┈╯,应用程序中没有其他依赖项。 |
| 621 |
支持fmt.Printf/Sprintf的ANSI终端颜色。 |
| 67 |
提供上下文的fmt,灵感来自于bootstrap color classes。 |
| 304 |
美化终端/控制台输出。 |
|
| 3004 |
多功能包装,彩色终端输出。 |
| 16 |
在终端提供ANSI彩色文本。 |
| 9 |
不需要Print方法的非侵入性跨平台终端颜色库。 |
| 8 |
在终端提供ANSI彩色文本模板。 |
| 373 |
适用于windows的颜色编写器。 |
| 197 |
在终端中使用彩色文字。 |
|
| 343 |
Go 实现的 isatty。 |
| 2305 |
构建一个强大的交互式提示,借鉴于python-prompt-toolkit |
| 5285 |
旨在创建控制台用户界面的极简Go库。 |
|
| - |
更换终端文本样式。 |
| 199 |
终端显色工具库,支持16种颜色,256种颜色,RGB显色输出,兼容Windows。 |
|
| 602 |
可在终端显示多进度条。 |
|
| 564 |
基本线程安全的进度条,在每个操作系统工作。 |
| 156 |
可在终端显示简易表格。 |
| 246 |
一个可在终端生成一个极简Golang表格轻量级库 |
| 29 |
不需要向API传递大量参数就可从命令行实用程序中打印ASCII表。 |
| 3462 |
基于文本的跨平台接口库。 |
| 803 |
此库是基于termbox-go实现的,借鉴于termui。 |
| 212 |
使用Ruby库terminal-tables的端口生成简单的ASCII表,并提供标记和HTML输出。 |
|
| 8877 |
此库是基于termbox-go实现的,借鉴于blessed-contrib。 |
| 827 |
用于实时更新终端输出的库。 |
| 1532 |
在终端呈现进度条,可灵活配置的。 |
| 498 |
改善终端应用程序中表格数据的可读性。 |
配置
配置解析的库。
| name |
star |
desc |
tag |
| 188 |
云本地应用程序配置。将ENV绑定到结构体仅需两行代码。 |
| 210 |
带有环境变量和标记解析的JSON或YAML配置包装器。 |
| 48 |
通过多个源提供配置,包括JSON、flags和环境变量。 |
| 235 |
从多个后端级联加载配置到struct中。 |
| 8 |
合并来自任意url的多个JSON/YAML/TOML文件、针对JSON模式的验证以及模式中定义的默认值的应用程序。 |
| 855 |
解析环境变量并赋值到struct中(默认值)。 |
|
| 89 |
对环境变量进行解析,并赋值到struct。 |
| 7 |
从环境配置中读取配置。 |
| 145 |
从环境变量中读取配置。 |
| 92 |
协助管理环境变量的Helpers。 |
| 116 |
将ini的配置文件读入 Go structs中;支持用户定义的类型和子选项。 |
|
| 24 |
一个简单的配置库,具有递归占位符解析功能。 |
| 107 |
将结构体解析为输入,并用来自命令行、环境变量和配置文件的参数填充该结构体的字段。 |
| 2099 |
Ruby 的 dotenv 库的 Go移植版(从.env文件加载环境变量)。 |
| 57 |
让程序配置变得简单。 |
| - |
模块化的JSON配置。保持配置结构及其配置的代码,并将解析委托给子模块,而不牺牲配置的完整序列化。 |
| 76 |
程序配置管理(load,get,set)。支持JSON, YAML, TOML, INI, HCL。支持多文件加载,数据覆盖合并。 |
|
| 39 |
一个易于使用的静态和动态配置包 |
| 171 |
更加人性化的JSON配置。轻松的语法,更少的错误,更多的注释。 |
| 24 |
flag保存在类ini的配置文件中。 |
| 1578 |
读和写INI文件。 |
| 193 |
一个可解析环境变量、JSON文件小巧的配置库,在SIGHUP时会自动重新加载。 |
|
| 2391 |
管理来自环境变量的配置数据。 |
|
| 81 |
轻量级可扩展库,用于读取Go应用程序中的配置。内置支持JSON, TOML, YAML, env,命令行。 |
| 512 |
可组合、可观察和高性能的分布式配置管理。 |
| 19 |
用于解析ini类型的配置文件。 |
| 3 |
支持构建环境的工具箱工厂和其他不确定的配置解析器(如YAML、TOML、JSON和环境vars)。 |
| 241 |
轻量级配置管理器。 |
|
| 9211 |
配置管理。 |
|
| 34 |
遵循XDG标准的跨平台包。 |
持续集成
用于帮助进行持续集成的工具。
| name |
star |
desc |
tag |
| 18898 |
Drone 是一个基于 Docker 的持续集成平台,用 Go 编写。 |
| 44 |
一个简单的 ci 服务。 |
| 29 |
在一个干净的工作区中对你的 Go 二进制文件进行测试、构建、签名和发布。 |
| 575 |
Coveralls.io 是一个用 Go 编写,可持续对代码覆盖率进行检测的系统。 |
| 98 |
针对多package 的 Go 语言项目,可为类似 goveralls 这样的工具生成覆盖率报告。 |
| 12 |
递归覆盖测试工具。 |
CSS预处理器
用于预处理CSS文件的库。
| name |
star |
desc |
tag |
| 423 |
纯Go编写的 CSS 预处理器。 |
|
| 130 |
采用 Go封装,100% 与 Sass 兼容的 libsass 项目。 |
数据结构
用 Go 实现的通用的数据结构和算法。
| name |
star |
desc |
tag |
| 237 |
算法和数据结构。来源于CLRS。 |
| 123 |
帮助用户构建自定义二进制流的二进制封装器和解包器 |
|
| 55 |
Go 语言集合数据结构。提供了额外的位操作功能。 |
| 479 |
实现了 bitsets 的 Go 包。 |
| 128 |
在Go中实现了Bloom过滤器。 |
|
| 39 |
Golang Bloom过滤器的实现。 |
| 1131 |
用于处理连续的概率数据结构。 |
| 23 |
具备高并发能力,可替换 bufio.Writer。 |
| 76 |
一个小型、强大和灵活的合并库。 |
| 43 |
Go实现Count-Min-log sketch的功能 : 使用近似计数器进行近似计数(类似Count-Min sketch,但使用更少内存)。 |
| 19 |
打包实现缓冲区,以便轻松处理各种数据类型。 |
| 509 |
布谷鸟过滤器:一个用Go实现,可替代计数 bloom 过滤器。 |
| 6 |
高度优化的双端队列。 |
| 62 |
快速环缓冲区deque(双端队列)。 |
| 9 |
实现类似 python dict的功能(dict)。 |
| 94 |
整形压缩库。 |
| 87 |
自适应基数树。 |
| 5106 |
可靠的、高性能的和线程安全的数据结构的集合。 |
| 11 |
实现了 Elias-Fano 编码。 |
| 310 |
基于内存的地理索引。 |
|
| 34 |
基于内存的实现了高性能的key:value存储库。指针缓存。 |
| 99 |
区域四叉树具有高效的点定位和邻域查找功能。 |
| 26 |
并行FIFO队列。 |
| 6229 |
数据结构。容器、集合、列表、堆栈、地图、BidiMaps、树、HashSet等。 |
| 1149 |
线程安全和非线程安全的高性能集。 |
| 16 |
一个有用的Go集合实现。 |
| 192 |
基于 Go 的跳表实现。 |
|
| 867 |
实现了数据帧,序列以及数据噪音。 |
| 7 |
ID type with marshalling to/from hash to prevent sending IDs to clients. |
| 180 |
用于映射空间填充曲线(例如 Hilbert 曲线和 Peano 曲线)和数值。 |
| 660 |
HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction. |
| 32 |
Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix. |
| 55 |
实现在Go中计算levenshtein距离。 |
| 273 |
实现了 MA-FSA ,包含最小完美哈希。 |
| 145 |
实现了merkle树,提供了对数据结构内容的有效和安全的验证。 |
| 7 |
用于信息检索的多字符串模式匹配算法。 |
| 5 |
对空的 Go 数据类型也可以进行JSON进行解析/反解析。 |
| 3 |
用于解析类似json的日志的工具,用于收集惟一的字段和事件。 |
| 15 |
实现了 fan-in 和 fan-out 的管道功能。 |
| - |
前缀树的一种实现。 |
| 86 |
高性能、线程安全的bloom过滤器。 |
| 649 |
实现了压缩 bitsets 的Go包。 |
| 6 |
使用LinkedHashMap在Go中实现简单的set数据结构。 |
| 99 |
高性能的 Go 跳表实现。 |
| 64 |
在Go中实现了跳表。 |
| 1 |
实现了有生命周期的键值对Map。 |
| 7 |
使用树堆进行持久、快速有序的映射。 |
| 418 |
在Go中实现Trie。 |
| 95 |
基于内存的LRU算法实现。 |
| 9 |
从复杂结构中获取值,支持空类型、安全的类型转换。 |
| 662 |
实现Bloom过滤器。 |
数据库
数据库。
| name |
star |
desc |
tag |
| 6222 |
快速 K/V 存储。 |
|
| 27 |
基于内存的最终一致的分布式缓存。 |
| 2430 |
高效的键/值缓存为千兆字节的数据。 |
| 9938 |
K/V 数据库。 |
|
| 2430 |
基于内存的K/V,快速,可嵌入的数据库,可自定义索引和空间支持。 |
| 13 |
基于内存的 K/V 存储:带生命周期的值存储,0个依赖项,<100 LoC, 100%覆盖率。 |
| 1005 |
基于内存的 K/V 缓存,支持超时的自动失效。 |
| 29 |
BigCache 支持集群和独立且生命周期存储项。 |
| 16718 |
可伸缩、区域备份、事务性数据存储。 |
|
| 40 |
由 Couchbase服务 支持的RESTful缓存微服务。 |
| 869 |
区块链领域的一个SQL数据库。 |
|
| 10090 |
可伸缩、分布式、低延迟、高吞吐量的图形数据库。 |
|
| 745 |
支持磁盘备份的可持久化 K/V 存储。 |
| 532 |
无其他依赖项,支持REST API,短语搜索和sql类似的查询语言的事务图数据库。 |
| 480 |
基于内存的快速线程安全的缓存,可缓存大量的条目。最大限度地减少GC开销。 |
| 888 |
支持过期缓存、LFU、LRU和ARC的缓存库。 |
| 2864 |
基于内存的 K/V 存储/缓存 : (类似于Memcached),适用于单机应用程序。 |
| 3154 |
在Go中实现LevelDB key/value数据库。 |
| 8 |
用 Go 对RocksDB实现了封装。 |
| 7628 |
Groupcache是一个缓存和缓存填充库,在许多情况下,它是memcached的替代品。 |
| 16977 |
可伸缩的数据存储,用于指标衡量、事件和实时分析。 |
|
| 3064 |
Ledisdb是一种高性能的NoSQL,类似于基于LevelDB的Redis。 |
| 364 |
实现了对LevelDB封装。 |
| 715 |
Moss是一个用100% Go编写的简单LSM键值存储引擎。 |
| 866 |
Nutsdb是一个用纯Go编写的简单、快速、可嵌入、持久的键/值存储。它支持完全序列化的事务和许多数据结构,如列表、集合、排序集。 |
|
| 171 |
基于堆栈数据结构的轻量级RESTful数据库引擎。 |
|
| 25363 |
用于监控系统和时序的数据库。 |
|
| 218 |
使用Go的标准库编写的快速和简单的键/值存储。 |
| 4674 |
基于SQLite的轻量级分布式关系数据库。 |
|
| 58 |
小型平面文件JSON存储。 |
| 86 |
具有持久性的键值存储。 |
| 13 |
用于临时数据存放的 K/V 存储。 |
| 19900 |
TiDB是一个分布式SQL数据库。灵感来自谷歌F1的设计。 |
|
| 2363 |
属于你的NoSQL数据库。 |
| 145 |
分布式高性能键值存储。可做磁盘备份。最终一致。高可用。能够在不中断服务的情况下增长或收缩。 |
| 974 |
开源,快速,可伸缩的时间序列数据库。支持PromQL。 |
|
数据库迁移。
| name |
star |
desc |
tag |
| 5 |
发现SQL schemas并将其转换为AVRO schemas。 |
| 83 |
用于数据库 schema 升级的库。 |
| 20 |
类似 Django fixture,用于 Go 建立内置数据库/sql库。 |
| 23 |
用Go -pg/pg编写的迁移包。 |
| 26 |
使用结构修饰的数据库迁移库。 |
| 118 |
数据库迁移工具。您可以通过创建增量SQL或Go脚本来管理数据库的升级。 |
|
| 328 |
面向Gorm ORM的数据库 schema 迁移辅助程序。 |
| 2562 |
基于CLI的数据库迁移库。 |
|
| 31 |
非常简单的 Go 数据库迁移库。 |
| 24 |
简易的迁移工具-目前只支持MySQL,但计划很快支持Postgres, SQLite, MongoDB等。 |
| - |
数据库迁移、创建、ORM等。用于MySQL、PostgreSQL和SQLite。 |
| 1399 |
数据库迁移工具。允许使用go-bindata将迁移嵌入到应用程序中。 |
数据库工具。
| name |
star |
desc |
tag |
| 301 |
ClickHouse数据库的HTTP代理。 |
|
| 133 |
收集小的 insterts 并向 ClickHouse 服务器发送大请求。 |
| 7 |
一个快速的数据生成器,支持多表感知和多行DML。 |
| 30 |
数据库基准测试工具,支持多个数据库和脚本。 |
| 1857 |
Go 工具集,用于处理MySQL协议和复制。 |
|
| 2367 |
自动将MySQL数据同步到Elasticsearch中。 |
| 4576 |
kingshard 是基于 Golang 的MySQL高性能代理。 |
|
| 141 |
MySql二进制日志复制监听器。支持基于语句和行的复制。 |
| 52 |
用于数据库分表(支持每个ORM或原生SQL)。 |
| 3011 |
MySQL复制拓扑管理器和可视化工具。 |
|
| 5964 |
基于web的PostgreSQL数据库浏览器。 |
|
| 24 |
在不更改代码的情况下使用准备好的SQL语句。 |
| 2078 |
基于PostgreSQL database的RESTful API服务。 |
| 10 |
rwdb为多个数据库服务器的设置提供读取副本功能。 |
| 8386 |
vitess提供了可以为大规模web服务扩展MySQL数据库提供便利的服务和工具。 |
|
SQL查询生成器,用于构建和使用SQL的库。
| name |
star |
desc |
tag |
| 437 |
Go library帮助您将sql文件保存在一个地方,并轻松地使用它们。 |
| 751 |
非入侵的SQL构建器和强大的数据绑定器。 |
|
| 50 |
数据库抽象层(dbal)。支持SQL builder,轻松获取结果。 |
| 626 |
常用的SQL生成器和查询库。 |
|
| 77 |
PostgreSQL的抽象层,支持高级功能和类似gorm的语法。 |
| - |
包含一些类似orm的特性和sqlite数据库的辅助程序的轻量级包 |
| 435 |
Powerful data retrieval methods as well as DB-agnostic query building capabilities. |
| 149 |
生成用于将数据库行转换为任意结构体的 Go 代码。 |
|
| 176 |
SQL查询生成器,从Squirrel fork而来,并再此基础上对性能做了优化。 |
| - |
Go SQL中间层,能使得执行查询更加容易。 |
| 2284 |
帮助您构建SQL查询的Go库。 |
| 2170 |
基于现有的schema定义和自定义查询生成 Go 代码,基于支持PostgreSQL、MySQL、SQLite、Oracle和Microsoft SQL Server。 |
数据库驱动程序
用于连接和操作数据库的库。
| name |
star |
desc |
tag |
| 32 |
Apache Avatica/Phoenix SQL驱动程序。 |
| 12 |
BigQuery 的数据存储连接。 |
| 103 |
Firebird RDBMS SQL驱动程序。 |
| 92 |
Microsoft ActiveX对象数据库驱动程序。 |
| 1016 |
微软MSSQL驱动程序。 |
|
| 404 |
Oracle 驱动程序。 |
| 8045 |
MySQL驱动程序。 |
| 3412 |
SQLite3驱动程序。 |
| 90 |
基于FreeTDS封装的微软MSSQL Go 驱动。 |
| 234 |
基于 ODPI-C 的 Oracle 驱动程序 |
|
| 1892 |
PostgreSQL驱动,支持比现有database/sql更多的特性。 |
|
| 5144 |
纯 Go 的Postgres驱动。 |
|
| name |
star |
desc |
tag |
| 303 |
Aerospike 客户端。 |
| 65 |
轻量级的 ArangoDB 驱动。 |
| 4 |
Aerospike 的数据存储连接器。 |
| 64 |
满足 principle of least surprise 的 DynamoDB 客户端。 |
| 29 |
基于 Go 的 ForestDB 接口实现。 |
| 292 |
Couchbase客户端。 |
| 51 |
基于 Go 的 Yet another CouchDB 的 Http 接口封装。 |
| 31 |
Pilosa客户端。 |
| 89 |
实现了基于 Redigo 客户端的redislabs' ReJSON 模块。可简单地将结构体存储为JSON对象并对其进行操作。 |
| 290 |
官方Couchbase Go SDK。 |
|
| - |
Apache Cassandra 的 Go 驱动。 |
| 58 |
由GoLang实现的redis客户端,灵感来自jedis。 |
| 6 |
谷歌云平台Go Datastore包的封装,它采用了memcached添加缓存。 |
| - |
memcache客户端库。 |
| 1455 |
RethinkDB 驱动。 |
| 24 |
Riak KV 驱动。 |
| 1625 |
(已停止维护) MongoDB驱动。 |
| 3029 |
官方的 MongoDB 驱动。 |
|
| 24 |
Neo4j Rest API实现。 |
| 72 |
Neo4j REST 客户端。 |
| 357 |
Golang 的 Neo4j 客户端。 |
| 258 |
与 redis 协议兼容的 TCP 服务器/服务。 |
| 6226 |
Redigo 是基于 Go 的Redis 客户端。 |
|
| 6413 |
基于 Go 的 Redis 客户端。 |
|
| 9 |
类型安全,可定制,清晰和易用的Redis客户端。 |
- Search and Analytic Databases.
| name |
star |
desc |
tag |
| 5810 |
基于 Go 的现代文本索引库。 |
|
| 4090 |
Elasticsearch 客户端。 |
|
| 385 |
将 SQL 转换为 elasticsearch dsl。 |
| 950 |
Elasticsearch 客户端。 |
| 1536 |
官方 Elasticsearch 客户端。 |
|
| 24 |
实现了与 Elasticsearch 交互的库。 |
| 4668 |
基于 Go 的 开源、分布式、简单高效的搜索引擎。 |
|
| 68 |
面向概率数据结构的服务和存储。 |
| name |
star |
desc |
tag |
| 111 |
基于多个驱动程序的缓存组件。 |
| 12661 |
图形数据库,支持多个后端。 |
|
| 13 |
面向 SQL、NoSQL、结构化文件的数据存储连接。 |
| 80 |
可扩展的简单的 K/V 存储(Redis、Consul、etcd、bbolt、BadgerDB、LevelDB、Memcached、DynamoDB、S3、PostgreSQL、MongoDB、CockroachDB等等)。 |
日期和时间
用于处理日期和时间的库。
| name |
star |
desc |
tag |
| 333 |
简单的时间扩展,包含了许多使用方法,从 PHP Carbon 库移植的。 |
| 27 |
增加处理日期、日期范围、时间跨度、时间段和time-of-day。 |
| 889 |
可以解析很多格式不固定的日期字符串。 |
| 238 |
轻量级、可让time.Duration更加易读的库。 |
| 22 |
用于计算德国公共假期的函数,比如复活节、感恩节等 |
| 61 |
太阳历实现。 |
| 13 |
计算指定位置的日出和日落时间。 |
| 18 |
用于处理以星期实体单位的库。 |
| 68 |
不用正则表达式有效解析 ISO8601 日期时间。 |
| 10 |
用于处理日期和时间的 golang 库。 |
| 2161 |
now 是时间有关的工具类。 |
| 9 |
可以允许 time.Time 为null。 |
| 5 |
C99-compatible strftime formatter。 |
| 60 |
用于处理时间间隔相关的库,可定义开始时间和持续时间。 |
| 168 |
面向 Golang 的时间库,集成了很多有用的扩展(Timedelta, Strftime, ...)。 |
| 7 |
Ruby-compatible Strftime function。 |
分布式系统
协助构建分布式系统的包。
| name |
star |
desc |
tag |
| 52 |
用于对 Celery worker、任务、事件进行交互和监控的库。 |
| 185 |
Consistent hashing with bounded loads。 |
| 125 |
BitTorrent Kademlia DHT的实现。 |
|
| 297 |
基于 grpc 的电子商务微服务。 |
| - |
基于 transformation/OT 的分布式同步。 |
| 39 |
实现了谷歌的jump consistent hash。 |
| 2500 |
一个功能齐全,高性能的库集。 |
|
| 24 |
符合 DRMAA 标准的集群调度程序作业提交库。 |
| - |
DynamoDB-backed 分布式锁定实现。 |
| 8 |
基于 DynamoDB 的 原子计数器的库。 |
| 1906 |
高性能、分布式、安全和低延迟的发布-订阅平台,使用MQTT、Websockets和love构建。 |
| 18 |
flow-based programming package。 |
| 2071 |
使用纯Go和Luajit编写的快速、可伸缩的分布式map/reduce系统,结合了Go的高并发性和Luajit的高性能,可以独立运行或分布式运行。 |
| 2513 |
全部用 Go 实现,易用、可伸缩,可用于分布式大数据处理,Map-Reduce, DAG执行。 |
| 476 |
用于在服务中启用异步依赖项健康检查的库。 |
| 252 |
提供了谷歌的 “Jump” 一致哈希函数接口。 |
|
| 14329 |
支持服务发现、负载平衡、插件式传输、请求跟踪等功能的Microservice toolkit。 |
| 551 |
简单、快速和可伸缩的RPC库。 |
|
| 8989 |
gRPC的Go语言实现。 |
|
| 999 |
支持25+种语言RPC库。 |
|
| 8574 |
分布式跟踪系统。 |
|
| 113 |
jsonrpc 包,实现了 JSON-RPC 2.0。 |
| 98 |
JSON-RPC 2.0 HTTP客户端。 |
| 1726 |
具有中间件的高性能API网关框架。 |
|
| 6521 |
可插拔的微服务 toolkit 和分布式系统平台。 |
|
| 6255 |
轻量级、高性能消息传递系统,可用于微服务、物联网(IoT)和云。 |
|
| 5 |
实现了 outbox pattern Go 库。 |
| - |
postgresql 的分布式锁定实现。 |
| 2821 |
Raft consensus协议的实现。 by HashiCorp。 |
|
| - |
Raft consensus协议的实现。 by CoreOS。 |
| 147 |
基于redis的分布式锁简易实现。 |
| - |
用于构建REST、实时和RPC API的实时API网关,其中所有客户端都是无缝同步的。 |
| 570 |
可伸缩的,容错、应用分层的的Go应用程序。 |
| 3742 |
分布式可插拔的RPC服务框架,如阿里巴巴Dubbo。 |
|
| 299 |
用于HTTP服务之间进行无中心p2p自动发现和RPC通信的库(使用ZeroMQ)。 |
|
| 3107 |
一个高性能中间件,可将任何语言的状态机转换为 Byzantine Fault 状态机。使用 Tendermint 一致性及区块链协议。 |
|
| 2822 |
BitTorrent 客户端。 |
|
电子邮件
实现了电子邮件创建和发送。
| name |
star |
desc |
tag |
| - |
用Go编写的SMTP服务器。 |
| 158 |
在HTML邮件中支持CSS内联。 |
|
| 1089 |
一个强大和灵活的电子邮件库。 |
| 46 |
DKIM库,用于签署 & 验证电子邮件。 |
| 723 |
用于客户端和服务器的IMAP库。 |
| 104 |
用于Internet消息格式化和邮件消息的流媒体库。 |
| 35 |
在HTML邮件中支持CSS内联。 |
| - |
一个非常简单和强大的邮件发送库。 |
| 168 |
轻量级的SMTP客户机,提供了HTTP API。 |
|
| 1610 |
可生成干净的、响应式的HTML电子邮件。 |
| 5126 |
电子邮件和SMTP测试工具,对外提供了 web 和 API 接口。 |
| 516 |
SendGrid 的 Go语言库,用于发送电子邮件。 |
| 50 |
SMTP服务器协议状态机。 |
可嵌入的脚本语言
在go代码中嵌入其他语言。
| name |
star |
desc |
tag |
| 321 |
基于 Go 的动态类型,可嵌入的编程语言。 |
|
| 919 |
用Go编写的解释器。 |
| 29 |
Lua接口,基于gopher-lua。 |
| 687 |
一个可以计算表达式的引擎。 |
|
| 25 |
嵌入式脚本编程语言。 |
| 429 |
LISP 的 Go 接口。 |
|
| 651 |
支持 Duktape JavaScript 引擎。 |
| 1660 |
用 Go 实现的 Lua 5.2 VM接口。 |
| 674 |
PHP 的 Go 接口。 |
| 905 |
CPython C-API 的 Go 接口。 |
| 441 |
Lua C 的 Go 接口。 |
| 2943 |
用 Go 实现的 Lua 5.1 虚拟机和编译器。 |
| 134 |
一种用Go编写的高度可定制的表达式语言。 |
|
| 19 |
嵌入式 Ngaro VM实现,支持在 Retro 中运行脚本。 |
| 4710 |
用 Go 编写的 JavaScript 解释器。 |
| 27 |
嵌入 Go 的 Perl 5.18.2。 |
| 1287 |
字节码编译的脚本语言。 |
错误处理
处理错误的库。
| name |
star |
desc |
tag |
| 144 |
用于定位抛出错误的源代码(以及一些其他快速调试特性)。可插入到任何 logger 的位置。 |
| 4831 |
可让你很简单的进行错误处理。 |
| 549 |
一个功能丰富的错误包,可进行堆栈跟踪、组装异常信息以及其他。 |
| 719 |
可将一系列的错误作为一个整体来显示。 |
|
| 494 |
可展示错误的堆栈跟踪信息和源码片段。 |
| 11 |
对错误异常进行了捕获封装,封装信息包含了调用它的文件、行和堆栈。 |
文件
处理文件和文件系统的库。
| name |
star |
desc |
tag |
| 2205 |
文件系统的抽象系统。 |
|
| 6 |
生成大型文件的消息摘要(如 MD5 和 SHA256)。 |
| 8 |
文件操作库,是GNU cp的镜像。 |
| 46 |
使用 tag 加载 csv 文件。 |
| 11 |
拷贝文件。 |
| 1 |
ExifTool 的 Go 实现,这个著名的库用于从文件(图片、PDF、office,…)中提取尽可能多的元数据(EXIF、IPTC,…)。 |
| 15 |
加载gtfs文件。 |
| 491 |
文件系统事件通知库,具有类似于os/signal的简单API,。 |
| 57 |
加载Open Packaging Conventions (OPC)文件。 |
| 937 |
PDF处理器。 |
|
| 48 |
可以轻松地并发地遍历文件系统。 |
| - |
采用并行读取算法的进行读取和写入STL(立体光刻)文件的模块。 |
| 35 |
tar文件的实现 FileSystem 接口。 |
| 21 |
一组可插拔的、可扩展的和自定义的文件系统功能,用于跨越许多文件系统类型,如os、S3和GCS。 |
金融
会计和财务软件包。
| name |
star |
desc |
tag |
| 486 |
货币和货币格式。 |
| 8 |
高性能、准确的货币计算软件包。 |
| 1586 |
任意精度定点的十进制数。 |
| 535 |
综合金融市场数据。 |
|
| 42 |
用于货币时间价值(年金)、现金流、利率转换、债券和折旧计算的金融函数库。 |
| 612 |
Fowler 货币模式的实现。 |
|
| 60 |
查询 OFX 服务器和/或解析响应。 |
| 68 |
限购单匹配引擎。 |
| 155 |
拥有先进的市场分析和交易策略的技术分析库。 |
| 55 |
嵌入式事务数据库,可多线程模式运行。 |
| 61 |
增值税编号验证 & 欧盟增值税税率。 |
表单
用于处理表单的库。
| name |
star |
desc |
tag |
| 23 |
将表单数据与任意 Go 变量进行绑定。 |
| 753 |
将来自 net/HTTP 请求的表单、JSON 数据绑定到结构体。 |
|
| 172 |
控制用户输入。基于struct tags可对数据进行修剪、清理和擦除。 |
|
| 348 |
将 url 中的数据解析到 Go 变量中,以及将 Go 语言变量编码进 url。支持 Dual Array 及 Full map。 |
| 122 |
将表单的值解码为 struct。 |
| 104 |
与框架无关的库,用于解析和验证支持多部分表单和文件的表单/JSON数据。 |
|
| 430 |
用于Go web应用程序和服务的CSRF保护。 |
|
| 966 |
CSRF保护中间件。 |
方法
在Go中支持函数式编程的包。
| name |
star |
desc |
tag |
| 106 |
提供函数式编程功能。 |
|
| 37 |
Functional Experiment in Go。 |
| 1066 |
常用辅助方法集合。 |
游戏开发
很棒的游戏开发库。
| name |
star |
desc |
tag |
| 426 |
用Go编写的 3D 游戏引擎。 |
|
| 1834 |
很简单的 2D 游戏库。 |
|
| 1076 |
开源 2D 游戏引擎。它遵循 Entity-Component-System 范式。 |
| 738 |
3D游戏引擎。 |
| 308 |
用 OpenGL 编写的 2D 游戏引擎。 |
|
| 77 |
Glop (Game Library Of Power) 是一个相当简单的跨平台游戏库。 |
| 325 |
实现了A*路径查找算法。 |
|
| 12 |
处理Collada文件。 |
| 1150 |
|
| 164 |
以性能为主的2D/3D数学相关包。 |
| 1047 |
实现了游戏服务器骨架。 |
|
| 1166 |
可伸缩的游戏服务器引擎,具有 space-entity 框架和 hot-swapping 功能。 |
|
| 3036 |
轻量级游戏服务器框架。 |
|
| 977 |
轻量级、方便、高性能的基于golang的游戏服务器框架。 |
|
| 623 |
纯 Go 实现的游戏引擎。 |
|
| 296 |
可伸缩的游戏服务器框架,支持集群和客户端库的iOS, Android, Unity。 |
| 2422 |
手工制作的 2D 游戏库。 |
| 379 |
实现了 raylib,一个简单易用的库,用于学习视频游戏编程。 |
|
| 1021 |
基于终端的 Go 游戏引擎,建立在 Termbox 之上。 |
代码生成与泛型
增强语言的工具,例如通过代码生成支持泛型。
| name |
star |
desc |
tag |
| 43 |
代码生成工具,可以不通过内存分配就可以高效的将interface{}转换为不可变类型,。 |
| 1029 |
用于生成泛型等类似方法的功能代码生成工具。 |
|
| 18 |
提供泛型、free-form 宏、条件编译和HTML模板的代码生成工具。 |
| 82 |
从代码注释中生成枚举。 |
| 1790 |
提供类似 .NET LINQ 的查询方法。 |
| 735 |
从输入类型来派生函数。 |
| 20 |
Golang 源码解析,用法类似reflect(反射)。 |
| 261 |
使用简单模板为 Go 接口生成装饰器。 |
| 185 |
用于生成接口定义的命令行工具。 |
| 1261 |
不使用模板生成任意 Go 代码。 |
| 85 |
用于包作用域反射的 Go 预处理器。 |
地理
地理工具和服务器
| name |
star |
desc |
tag |
| 110 |
基于内存缓存的的地理位置的应用程序。 |
|
| 25 |
基于geoserver REST API的 geoserver 实例。 |
| 19 |
将你的 GIS 数据(矢量数据)发布到 PostGIS 和 Geoserver。 |
| 66 |
用于读取、写入和处理 OpenStreetMap 数据和 APIs。 |
| 15 |
基于Golang 的 OpenStreetMap PBF 编码器/解码器。 |
| 882 |
S2 geometry 库。 |
| 6299 |
具有空间索引和实时地理定位功能的地理定位数据库。 |
Go 编译器
可将 Go 转换为其他语言的编译工具。
| name |
star |
desc |
tag |
| 148 |
将 C 代码转换为 Go 代码。 |
| 11 |
将 FORTRAN 77 转换为 Go代码。 |
| 8503 |
将 Go 编译成 JavaScript。 |
|
| 990 |
基于 llvm 的编译器。 |
|
| 392 |
Golang 转换为 Haxe,再转换为 CPP/CSharp/Java/JavaScript 的编译器. |
|
Goroutines
管理和处理 Goroutines 的工具。
| name |
star |
desc |
tag |
| 1834 |
一个高性能的协程池。 |
|
| 11 |
简单的内存作业队列。 |
| 20 |
一种异步执行函数的安全方法,在出现 panic 时恢复它们。 |
| 32 |
灵活的机制,可以使执行流可中断。 |
| 36 |
基于 Go 的 CyclicBarrier 实现。 |
| 167 |
轻松编排 goroutines。 |
|
| 103 |
控制 goroutines 的执行顺序。 |
| 5 |
轻量级的协程池库,可以通过简单的API来管理。 |
| 4 |
支持 read-write 锁。 |
| 26 |
异步简单的函数实用程序,用于管理闭包和回调的执行。 |
| 75 |
简单异步的协程池。 |
| 2241 |
基于 go 的后台 worker。 |
|
| 56 |
manages a resizeable pool of context-aware goroutines to bound concurrency |
| 491 |
轻量级协程池。 |
| 9 |
Hunch 提供了诸如 All、First、Retry、Waterfall 等功能,这使得异步流控制更加直观。 |
| - |
完整的实现了Erlang supervision trees。 |
| 24 |
并行运行函数。 |
| 475 |
有限消费者协程或无限协程池,可用于更加简单的处理和取消协程 |
|
| 1 |
提供类似队列组可访问性 sync.WaitGroup 的功能。帮助你节流和限制协程、等待所有协程结束以及更多功能。 |
| 2 |
go routine control with context, support: Main, Go, Pool and some useful Executors. |
| 74 |
信号量模式实现,可根据通道和上下文进行具备超时功能的锁定/解锁操作。 |
| 72 |
基于 CAS 的可快速调整的信号量实现(比基于通道的信号量实现更快)。 |
| 8 |
基于软件事务内存(STM)并发控制机制的软件事务锁。 |
| 17 |
Golang 的 threadpool 实现。 |
| 1330 |
golang 的协程池。 |
| 43 |
一个简单的 Go 异步工作池。 |
| 131 |
限制任务执行并发数,而不是队列中的任务数量的协程池,。 |
GUI
用于构建GUI应用程序的库。
工具包
| name |
star |
desc |
tag |
| 2943 |
用于创建包含了 GO, HTML 和 CSS 的应用程序。支持 MacOS, Windows 正在开发中。 |
|
| 6201 |
为 Go 而设计的跨平台的本地GUIs,使用EFL呈现。支持 : Linux, macOS, Windows。 |
|
| 2641 |
使用 GO 和 HTML/JS/CSS (电子驱动)进行构建跨平台 GUI 应用程序。 |
| - |
实现了 GTK 的 Go接口。 |
| 1439 |
实现了 Sciter 的 Go 接口 : 用于现代桌面 UI 开发的可嵌入HTML/CSS/脚本引擎。可跨平台。 |
| 760 |
实现了 GTK3 的 Go接口。 |
| 207 |
跨平台、快速、简单的桌面UI开发,采用了GO, HTML, CSS和NW.js实现。 |
| 5988 |
实现了 Qt 的 Go接口(支持Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。 |
|
| 6913 |
跨平台的 Platform-native GUI 库。 |
| - |
Mac, Windows, Linux桌面应用程序,主要基于含有内置的OS HTML渲染器的HTML UI。 |
| 3671 |
Windows应用程序库。 |
|
| 4616 |
跨平台webview窗口,具有简单的双向JavaScript绑定(Windows / macOS / Linux)。 |
交互
| name |
star |
desc |
tag |
| 1 |
实现了 libappindicator3 C库 的 Go接口。 |
| 494 |
OSX 桌面通知库。 |
| 1 |
用于通知计算机上的任何(可插入的)活动的 OSX 库。 |
| - |
OSX 睡眠/唤醒通知。 |
| 4405 |
实现跨平台的GUI系统自动化。包含了控制鼠标、键盘等功能。 |
|
| 774 |
跨平台 Go 库,可在通知区放置图标和菜单。 |
| 159 |
跨平台 Go 库,可用于在主机操作系统的任务栏中放置图标。 |
硬件
硬件交互相关的库、工具和教程。
See go-hardware for a comprehensive list.
图片
图像处理相关的库。
| name |
star |
desc |
tag |
| 2029 |
纯Go语言实现的图像处理算法合集。 |
| 784 |
使用libvips实现的快速高效的图像处理包。 |
|
| 31 |
一个Go语言的头像生成器。 |
| 21 |
An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency. |
| 1011 |
由字符串创建漂亮图案的图片生成器。 |
| 1896 |
纯Go语言实现的2D渲染。 |
| 1206 |
图像处理包。 |
| 36 |
一个高效、健壮的glTF 2.0文件读取、写入和验证器。 |
| 85 |
cairo图形库的Go binding。 |
| 49 |
GD库的Go binding。 |
| 286 |
Go语言实现的裸照检测工具。 |
| 1087 |
OpenCV库的Go bindings。 |
| 24 |
Python下webcolors库的Go语言调用。 |
| 2422 |
使用OpenCV 3.3+实现的计算机视觉(ComputerVision)的Go语言包。 |
|
| 209 |
图像哈希处理的Go语言包。 |
| 26 |
Go语言实现的imghdr模块用于确定文件的图像类型。 |
| 310 |
生成有趣头像的库和CMD工具。 |
| 288 |
将图像转换为ASCII码。 |
| 969 |
ImageMagick下MagickWand的C API的Go binding。 |
|
| 2579 |
用于图像大小调整的快速、简单的HTTP微服务。 |
| 2497 |
简单的Go图像处理包。 |
|
| 129 |
图像处理工具的集合。 |
|
| 2457 |
Go实现的3D线艺术(3D Line Art)渲染。 |
| 70 |
用于图像处理(合并、裁剪、调整大小、水印、动画)的工具和Go库。 |
| 365 |
Go语言实现的图像存储和处理服务器。 |
| 6 |
MPO三维照片的解码和转换工具。 |
| 1060 |
Go实现的图像调整服务器。 |
| 1765 |
Go实现的路径跟踪(path tracing)引擎。 |
| 2122 |
Go实现的使用常用的插值法(interpolation methods)调整图像大小的库。 |
|
| 189 |
纯Go语言和SIMD实现的图像大小调整。 |
|
| 1250 |
为任意图片寻找合适的位置进行图片裁剪。 |
| 25 |
纯Go实现的LSB隐写(LSB steganography)的库。 |
| 486 |
Go实现的LSB隐写(LSB steganography),能够隐藏任何文件到一个图像中。 |
| 1325 |
Go实现的SVG生成库。 |
| 23 |
tga包是一个TARGA图像的解码、编码器。 |
物联网
物联网设备编程库。
| name |
star |
desc |
tag |
| 167 |
自我量化和物联网的开源平台。 |
| 225 |
一套用于物联网设备的库,实验性地用于x/exp/io。 |
|
| 36 |
Eywa是一个用于跟踪连接的设备连接管理器。 |
| 1113 |
Flogo是一个面向物联网边缘应用和集成的开源框架。 |
|
| 811 |
Gatt是一个用于构建低能耗蓝牙外围设备的Go语言包。 |
| - |
Gobot是一个用于机器人、物理计算和物联网的框架。 |
| 109 |
一个包含广泛的Philips Hue客户端的Go语言库。 |
| - |
IoT是一个实现谷歌物联网核心设备的简单框架。 |
| 579 |
工业物联网消息和设备管理服务器。 |
|
| - |
外围设备I/O与低级板(low-level board)设备接口。 |
| 178 |
轻量级物联网流处理引擎。 |
|
作业调度器
用于作业调度的库。
| name |
star |
desc |
tag |
| - |
使用简单、流畅的语法调度作业的Go语言库。 |
| 76 |
Go实现的简单直观的作业调度库。 |
| 177 |
一个Go实现的简单的定时任务库。可以在不同的时间间隔(每秒一次到在每年在特定的日期执行)执行闭包或函数。主要用于web应用和长时间运行的守护进程。 |
|
| 625 |
使用简单的Go API定义基于时间的任务。 之后Gron的调度程序将运行它们。 |
| 568 |
智能和功能丰富的cron作业调度程序(包含任务队列和实时监控)。 |
|
| 451 |
持久和灵活的后台作业库。 |
|
| 37 |
支持webhook、crons和经典调度的作业调度程序。 |
| 291 |
Cronjobs让调度变得很简单。 |
|
JSON
用于JSON处理的库。
| name |
star |
desc |
tag |
| 12 |
为Go语言开发的包含JSONPath支持的抽象JSON。 |
| 58 |
用于创建JSON对象的小工具。 |
| 4832 |
使用一行代码获取JSON的值。 |
| 7 |
Go-JsonError允许我们轻松创建符合JsonApi规范的json响应错误。 |
| 22 |
用于处理常见的HTTP JSON响应的Go语言库。 |
| 140 |
Go语言实现的JSON请求。 |
|
| 2021 |
从JSON自动生成Go的结构(struct)定义。 |
| 39 |
用Go编写的JSON比对工具。 |
| - |
将JSON转换为Go的结构(struct)。 |
| 5 |
基于JSON API错误引用的Go bindings。 |
| 54 |
用于高亮展示和查询JSON的控制台工具。 |
| 92 |
使用Fluent API来更容易地创建Json对象。 |
| 9 |
让自定义结构(struct)转化为JSON兼容的HAL(Hypertext Application Language)返回数据的简单Go包。 |
| 130 |
用于任意JSON文档转换的API。 |
| 33 |
简单的cli电子邮件解析器。它目前接受stdin并输出JSON。 |
日志记录
用于生成和处理日志文件的库。
| name |
star |
desc |
tag |
| 18 |
distilled日志记录(可以将其视为stdlib +日志)。 |
| 51 |
glg是一个简单而快速的Go日志库。 |
| 8 |
参照PHP的Monolog实现的具有相同日志等级的Go日志库。 |
| 2295 |
为Go提供了多等级日志记录。 |
|
| 19 |
基于当前日期和时间的自动日志文件写入工具,类似cronolog。 |
| 10 |
Go实现的简单且可配置的日志工具,并带有多等级、日志格式化和日志写入工具。 |
| 24 |
支持多等级和多处理程序的日志库。 |
| 34 |
Log4j的Go语言。 |
| 233 |
简单的日志程序的 Go 程序,与级别处理程序。 |
| 39 |
为Go提供方便简单的日志操作; 在彩色控制台,简单控制台,文件或Elasticsearch上。 |
| 15 |
为Go实现可多方式输出、结构化日志, 并可扩展日志输出方式。 |
| - |
快速、可扩展、功能齐全、std-lib源兼容的日志库。 |
| 18 |
Go实现systemd Journal的原生API用于日志记录。 |
| 4 |
一个O(1)日志系统,允许您将一个日志连接到多个日志写入(例如stdout、文件和TCP连接)。 |
| 727 |
Go的结构化日志包。 |
| 266 |
Go的简单、可配置和可伸缩的结构化日志。 |
| 22 |
Go的结构化日志接口,清晰地将日志facade与其实现(implementation)分离开来。 |
| 82 |
用Go编写的功能齐全的日志写入saas。 |
| 880 |
简单、强大的日志操作。 |
| 9 |
用于多等级级日志记录的包。 |
| 32 |
由标准日志库封装的Go日志库,支持跟踪和多等级。 |
| 135 |
Go的精简日志库。 |
| 6 |
Go的彩色日志记录器,带有可配置的日志级别。 |
| 4 |
Go的日志工具,可配置的日志写入器。 |
| 11805 |
Go的结构化日志操作 。 |
|
| 26 |
logrus的插件,将错误信息发送到Loggly。 |
| 247 |
Go的用于更好地进行日志操作的实用程序,继承了标准日志库。 |
| 334 |
12-factor app的日志程序,快速且让人高兴地使用。 |
| 1425 |
简单的滚动日志,io.WriteCloser的实现。 |
|
| 18 |
简单的go日志模块,有5个级别,可选循环(rotation)日志文件记录功能和stdout/stderr输出。 |
| 330 |
Onelog是一个非常简单但非常高效的JSON日志程序。它是所有场景中速度最快的JSON日志程序。而且,它是配置要求最低的日志记录器之一。 |
| 110 |
支持日志多等级、分类和过滤的高性能日志记录。可以发送过滤后的日志消息到各种目标(如控制台,网络,邮件)。 |
|
| 96 |
RollingWriter是一个自动循环的io.Writer的实现,带有多种策略以提供日志文件循环(rotation)。 |
| 1344 |
具有灵活调度、过滤和格式化的日志功能。 |
| 3279 |
为Go数据结构实现一个漂亮的printer用于帮助调试。 |
|
| 43 |
Stdlog是一个面向对象的库,提供了多等级日志记录。它对cron任务非常有用。 |
| 1531 |
努力模拟实现BSD的tail的特性的Go包。 |
| 7 |
插件架构和灵活的日志系统,带有多级别、多日志目标和自定义日志格式。 |
| 128 |
针对'net/context`实现的结构化的记录器,用于HTTP处理程序。 |
| 7347 |
快速、结构化、多等级的日志记录。 |
| 2177 |
Zero-allocation JSON日志记录。 |
|
机器学习
机器学习库。
| name |
star |
desc |
tag |
| 628 |
Go的朴素贝叶斯分类。 |
| 643 |
快速、灵活、多线程集成的决策树,用于机器学习。 |
| 618 |
一个进化优化(evolutionary optimization)库。 |
| 8 |
遗传算法(Genetic Algorithm)和粒子群优化(Particle Swarm Optimization)库。 |
| 33 |
一个用Go编写的深度神经网络库。 |
| 21 |
Go实现的k-modes和k-prototypes聚类算法。 |
| 216 |
一个功能丰富的神经网络库 。 |
| 99 |
快速人工神经网络(FANN)库的Go bindings。 |
| 171 |
用Go编写的遗传算法库。 |
|
| 57 |
Go编写的模式识别包。 |
| 379 |
用 Go 编写的神经网络库。 |
| 24 |
各种概率分布,以及相关的method。 |
| 78 |
Go的遗传算法库。 |
| 6635 |
通用机器学习库。 |
|
| 39 |
Go实现的liblinear bindings。 |
| 6 |
一个简单的神经网络库。 |
| 1009 |
在线机器学习。 |
| 142 |
用Go编写的推荐算法库。 |
|
| 2674 |
基于图形(graph-based)的计算库,如Theano:它为构建各种机器学习和神经网络算法提供了基本框架。 |
|
| 525 |
基于协同过滤(Collaborative Filtering )的高性能推荐系统包。 |
|
| 35 |
为预言模型标记语言(PMML)实现的评分API。 |
| 861 |
使用c++的Tesseract库实现的OCR。 |
|
| 63 |
基于LIBSVM 3.14实现。 |
| 5 |
这个项目的用于在Go中提供最精简的机器学习算法。 |
| 55 |
即插即用的并行Go框架,用于增强拓扑的神经进化(NeuroEvolution of Augmenting Topologies)。 |
| 61 |
多层感知器网络在Go中的实现,使用反向传播算法进行训练。 |
| 219 |
一个简单的OCR API服务器,非常容易地使用Docker和Heroku部署。 |
| 147 |
Go Interface, 用于开放式神经网络交换(Open Neural Network Exchange)。 |
| 10 |
概率分布函数。贝叶斯推理。使用Go写的。 |
| 245 |
推荐和协同过滤引擎。 |
| 124 |
贝叶斯文本分类器,具有灵活的tokenizers和存储后端。 |
|
| 1175 |
易于使用的Tensorflow bindings:简化了官方Tensorflow Go bindings的使用。在Go中定义计算图形,在Python中加载和执行训练的模型。 |
| 24 |
Go实现的神经网络。 |
消息
实现消息传递系统的库。
| name |
star |
desc |
tag |
| 2037 |
HTTP / 2苹果消息推送provider——发送推送消息到iOS, tvOS, Safari和OSX应用。 |
|
| 717 |
一个实时消息服务器,可用于在web和手机app端构建一个可伸缩的应用内通知,多人游戏,聊天应用。 |
| 1988 |
一系列协议之间的消息流桥接。 |
|
| 114 |
内部通信的最小消息总线实现。 |
| 3655 |
实时消息(Websockets或SockJS)服务器。 |
|
| 21 |
高级事件驱动的消费者/生产者(consumer/producer),支持各种“方言”,如Apache Kafka。 |
| 355 |
D-Bus的Go bindings。 |
|
| 60 |
使用二进制、docker或Drone CI发送Line通知。 |
| 309 |
使用Go的方式发出事件, 带有通配符、谓词、取消可能性和许多其他优点。 |
| 27 |
观察者模式的实现。 |
| 551 |
具有异步兼容性的轻量级事件总线。 |
| 8 |
用Go编写的Gaurun客户端。 |
| 316 |
健壮的Go和Javascript Socket库(替代Socket.io)。 |
| 47 |
原生的freedesktop通知规范实现。 |
| 1451 |
NSQ的官方Go包。 |
| 2867 |
go的socket.io库,一个实时应用程序框架。 |
| 11 |
用于Viessmann Vitotrol web服务的客户端库。 |
| 767 |
一个n:m多路复用器(n:m multiplexer),收集不同来源的消息并将其广播到一组目的地。 |
|
| 425 |
HTTP longpoll服务器库,使web发布-订阅变得简单。 |
| 36 |
服务器在Go中发送事件。 |
| 1833 |
gopush-cluster是一个gopush服务器集群。 |
|
| 3683 |
使用APNs2和谷歌GCM推送通知服务器。 |
|
| 138 |
使用推送通知服务(谷歌Firebase云消息、苹果推送通知服务、SMS)的消息服务器, 支持websockets,REST API,并具有分布式操作和消息持久性。 |
|
| 24 |
适用于Go应用程序的消息/事件中心,使用publish/subscribe模式,并支持别名(类似rabbitMQ exchanges)。 |
| 6 |
一个简单的RabbitMQ抽象层,用于队列管理和消息的发布和消费。 |
| 3343 |
基于分布式消息传递的异步任务/作业队列。 |
|
| 1534 |
Nanomsg(“可伸缩协议”)的纯go实现,具有传输互操作性。 |
| 1549 |
处理websocket session的极简框架,包括广播和自动ping/pong处理。 |
| 1477 |
使用Mercure协议分派服务器发送(server-sent)更新的服务器和库(构建在服务器发送事件之上)。 |
|
| 64 |
messagebus是一个Go的简单异步消息总线,非常适合在执行事件sourcing、CQRS和DDD时用作事件总线。 |
| 2382 |
轻量级和高性能的发布-订阅(publish-subscribe)和分布式队列消息传递系统——这是一个Go库。 |
|
| 50 |
一个围绕NSQ topic和channel的小工具。 |
| 94 |
用于REST api的通用oplog/replication系统。 |
| 272 |
简单的pubsub的go包。 |
| 61 |
amqp exchanges和队列上的一个小工具。 |
| 72 |
RabbitMQ的瑞士军刀cli应用。 |
| 54 |
RapidMQ是用于管理本地消息队列的轻量且可靠的库。 |
| 1 |
基于Redis streams的队列的生产者和消费者。 |
| - |
RabbitMQ重新连接。amqp.Connection和amqp.Dial之上的Wrapper。允许在强制调用Close()方法关闭连接之前重新连接。 |
| 4578 |
Apache Kafka的Go库。 |
|
| 1098 |
Redis支持的统一推送服务, 用于服务端向移动设备的消息通知。 |
| 773 |
ZeroMQ的Go interface第4版。也可用于第3版和第2版。 |
|
微软办公软件
| name |
star |
desc |
tag |
| 1679 |
用于创建和处理Office Word (.docx)、Excel (.xlsx)和Powerpoint (.pptx)文档的纯go库。 |
|
Microsoft Excel
用于操作Microsoft Excel的库。
| name |
star |
desc |
tag |
| 4404 |
用于读写Microsoft Excel™(XLSX)文件的Go语言库。 |
|
| 46 |
一个简单轻便的阅读器,可以将类关系型数据库(relate-db-like)的excel作为表来读取。 |
| 12 |
libxlsxwriter的Go binding, 用于编写XLSX (Microsoft Excel)文件。 |
| 3344 |
用以简化在Go程序中读取使用最新版本Microsoft Excel的XML格式文件的库。 |
|
| 67 |
在Go程序以快速和安全的方式读取/更新现有的Microsoft Excel文件。 |
杂项
依赖注入
用于处理依赖项注入的库。
| name |
star |
desc |
tag |
| 33 |
Go的外挂的依赖注入容器。 |
| 893 |
一个基于反射的Go依赖注入工具包。 |
| 690 |
基于依赖注入的Go应用程序框架(构建在dig之上)。 |
| 9 |
简单的依赖注入容器。 |
| 25 |
一个基于反射的依赖注入容器,具有简单的接口。 |
| 5 |
A reflection based dependency injection and inversion of control library with components lifecycle support. |
| 19 |
适用于Go的严格运行时依赖注入(Strict Runtime Dependency Injection)。 |
项目布局
用于组织项目的非正式模式集。
| name |
star |
desc |
tag |
| 21 |
带有实际代码的Go应用程序项目的示例布局。 |
| 8884 |
Go生态系统中历史和新兴的项目布局模式集合。 |
| 21 |
快速生成Go项目布局的脚手架。让您专注于已实现的业务逻辑。 |
字符串
处理字符串的库。
| name |
star |
desc |
tag |
| 61 |
字符串处理工具。 |
| 616 |
从其他语言移植的有用字符串函数合集。 |
这些库之所以放在这里,是因为不适合放在其他分类。
| name |
star |
desc |
tag |
| 11 |
Go语言的最小化,可插入的evloop/timer处理程序, 带有依赖注入。 |
| 139 |
一个快速、强大和可扩展的web爬虫框架。 |
|
| 2475 |
用于生成和解压.zip和.tar.gz文档的库和命令。 |
| 24 |
从struct字段自动定义命令行flag的Go包。 |
| 9 |
根据威尔逊得分排序算法(Wilson Score Equation)计算平均分和评分。 |
| 229 |
在Go应用程序中添加漂亮的横幅(banner)。 |
|
| 621 |
base64Captcha支持数字,字母,算术,音频和混合模式的验证码。 |
|
| 134 |
跨平台、标准化的电池信息库。 |
| 92 |
高度优化的位级读写器。 |
| 29 |
| 42 |
captcha包为验证码生成提供了一个易于使用的、unopinionated的API。 |
| 340 |
conv包提供了跨Go类型(Go types)的快速和直观的转换。 |
|
| 27 |
用于readers/writer/http.ResponseWriter的计数器。 |
| 126 |
美化数据,使其更适合人查看。 |
|
| 23 |
GitHub一个组织中所有的仓库复制到一个目录中。 |
| 663 |
Go语言的通用对象池。 |
|
| - |
用于解析和使用开放api模式(open-api schemas)的包的集合。 |
| 846 |
Go语言弹性模式(resiliency pattern)。 |
| 67 |
用于RAR、TAR、ZIP和7z文件的解压缩库。 |
| 411 |
用go编写的随机数据生成器。 |
|
| 70 |
分析git提交消息,确保它们遵循已定义的格式。 |
| 3890 |
用于检索进程和系统利用率(CPU、内存、磁盘等)的跨平台的库。 |
|
| 16 |
提供Go统计处理程序,结构和测量方法。 |
| 1225 |
Go编写的私人的本地短信网关,可以用来发送短信。 |
|
| 15 |
为Prometheus客户端提供类型安全的指标(metric)构建工具库。 |
| 208 |
获取国家和细节数据的包。 |
| 360 |
易于使用,可扩展的健康检查库。 |
| 80 |
用于RESTful服务的强制的(opinionated)并发健康检查HTTP处理程序。 |
| 8 |
一个用于打包和解包FQDNs列表的go语言库。 |
| 51 |
分布式唯一ID生成器, 使用Sonyflake并由Base58编码。 |
| 117 |
一个简单的版权许可证库。 |
| 409 |
用于在纯Go中与LLVM IR交互的库。 |
| 4 |
用于instrumentation和Prometheus exposition的库。 |
| 49 |
实现字符串与摩尔斯电码转换的库。 |
| 2 |
NUMA是一个用go编写的实用程序库。它可以帮助我们编写一些NUMA-AWARED代码。 |
| 33 |
通过Json请求生成PDF的HTTP服务。 |
| 33 |
一些适用于波斯语的Go工具库。 |
| 12 |
能沟让地球上的每一粒沙子都有自己的ID。 |
| 7 |
一个Go库,实现了依照UNIX Bourne shell的关键词解析规则进行字符串操纵。 |
| 446 |
分布式地生成超短、唯一、非顺序、URL友好的id。 |
|
| 121 |
Monitors Go MemStats + 诸如如内存,Swap和CPU的系统状态统计,并通过UDP发送到任何你想记录的地方 |
|
| 72 |
Go的Emojis库。 |
| 17 |
一个现代的、强大的、健壮的URL转短链接微服务,带有mysql支持。 |
| - |
用于生成http输入和输出处理模板。 |
| 19 |
FreeDesktop.org (xdg)规范在Go中的实现。 |
| 39 |
X Keyboard Grabber(键盘事件捕获) |
自然语言处理
用于处理人类语言的库。
| name |
star |
desc |
tag |
| 73 |
快速自然语言检测包。 |
| 4 |
相似、不相似和距离矩阵;多样性、公平性和不平等度量;物种丰富度估计;coenocline模型。 |
| - |
软件包和用于处理本地化文本的附带工具。 |
| 23 |
CGo绑定到Yandex。Mystem -俄罗斯形态学分析仪。 |
| 79 |
用于处理离散概率分布的实用程序和用于进行NLP工作的其他工具。 |
| 519 |
中文汉字到汉语拼音的转换。 |
| 52 |
波特词干算法的实现。 |
| 56 |
Unicode文本的ASCII音译。 |
| 30 |
用于word2vec嵌入式的阅读器和实用程序函数。 |
| 813 |
这是一个Go实现的jieba,这是一个中文分词算法。 |
|
| 15 |
Go 绑定斯诺鲍libstemmer库,包括波特2。 |
| 6 |
一种基于字典和双字母格朗语言模型的记号赋予器。(现在只支持中文分割) |
| 67 |
用于Go的Unicode音译器(也称为unidecode)。 |
| 1064 |
高效的文本分割;支持英语、汉语、日语等。 |
|
| 19 |
Cgo绑定用于icu4c C库的检测和转换功能。保证与版本50.1兼容。 |
| 413 |
JP形态学分析仪编写的纯Go。 |
| 10 |
用于libtextcat C库的Cgo绑定。保证与版本2.2兼容。 |
| 59 |
这是一个 Go 实现的MMSEG,这是一个中文分词算法。 |
| 353 |
从字符串中提取值并用nlp填充结构。 |
|
| 216 |
支持LSA(潜在语义分析)的Go自然语言处理库。 |
| 25 |
Golang实现了Paice/外壳阻塞算法。 |
| 22 |
彼得罗维奇是一个图书馆,它把俄语名字的词形变化成特定的语法格。 |
| 8 |
这是Martin Porter在C语言中实现的Porter词干分析算法的一个相当简单的移植。 |
| 33 |
非常快的波特2史坦默。 |
| 2038 |
用于支持标记化、词性标记、名称实体提取等文本处理的库。 |
| 45 |
快速自动关键字提取算法(RAKE)的Go端口。 |
| 46 |
Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29 |
| 260 |
句子标记器:将文本转换为句子列表。 |
| 10 |
shamoji是用Go编写的word过滤包。 |
| 24 |
滚雪球柄端口(cgo包装)为 Go 。提供词干提取功能Snowball native。 |
| 47 |
用于Go编程语言的Stemmer包。包括英语和德语词根。 |
| 60 |
Go package支持基于n-gram的文本分类,支持utf-8和原始文本。 |
| 350 |
Go的自然语言检测包。支持84种语言和24种脚本(书写系统,如拉丁语、西里尔语等)。 |
| 925 |
带有可插入规则的自然EN和RU语言日期/时间解析器。 |
网络
用于处理各种网络层的库。
| name |
star |
desc |
tag |
| 193 |
实现了arp协议,如RFC 826中所述。 |
| 232 |
通过TCP传输协议缓冲区数据。 |
|
| 133 |
CoAP客户端/服务器实现(RFC 7252)。 |
|
| 387 |
快速得 IP 到 CIDR 查找。 |
| 62 |
实现了一个DHCPv6服务器,如RFC 3315所述。 |
| 3770 |
用于 DNS 的库。 |
|
| 62 |
一个用于发送和接收以太网帧的跨平台 Go 库。 |
| 185 |
实现了对IEEE 802.3以太网II帧和IEEE 802.1Q VLAN标签的编组和解组。 |
| 9228 |
一个快速HTTP实现,比net/http快10倍。 |
|
| 862 |
负载测试库和命令行工具,高级的echo服务器和web UI。允许指定一组每秒查询的负载,并记录延迟直方图和其他有用的统计数据,并将它们作图。支持Tcp、Http、gRPC。 |
|
| 519 |
实现了RFC 959中描述的ftp客户端。 |
|
| 80 |
Gmqtt是一个灵活、高性能的MQTT代理库,它完全实现了MQTT协议V3.1.1。 |
|
| 98 |
一组基于 gNMI 和 gNOI 协议的网络管理工具。 |
| 721 |
通过URL来下载文件或目录。 |
| 331 |
实现了 STUN 客户端(RFC 3489和RFC 5389)。 |
|
| 1665 |
基于 Go 的 BGP 实现。 |
|
| 14 |
用于解码 pcap 文件和分析解剖数据。 |
| 2845 |
Go library for packet processing with libpcap bindings. |
|
| 352 |
用 Go 实现了对 libpcap 的封装。 |
|
| 9 |
用于解码IP包,创建用于分析的数据结构包。 |
| 431 |
用于执行 SNMP 操作的原生 Go 库。 |
| 410 |
用于快速编写 tcp 应用程序。 |
|
| 545 |
用于管理文件下载。 |
|
| 24 |
FTP服务器框架。 |
| 3399 |
HTTPLabs 允许你检查 HTTP 请求和伪造响应。 |
| 24 |
用于处理IP地址的库(net)。借鉴于python 的 ipaddress和ruby ipaddr |
| 123 |
Jazigo是一个用Go编写的工具,用于检索多个网络设备的配置。 |
| 2234 |
快速可靠的ARQ协议。 |
| 10625 |
基于KCP协议的非常简单和快速udp隧道。 |
|
| 512 |
强大的websocket框架,可以让你更容易的构建IM服务器。 |
|
| 44 |
网络链路速度模拟,主要用于接口的读/写。 |
| 8 |
一个非常简单、快速的代理服务器后端。可用于快速重定向到预定义域,具有零内存分配和快速响应。 |
| 547 |
简单mDNS(Multicast DNS)客户端/服务器库。 |
|
| - |
Paho Go客户端提供了一个 MQTT 客户端库,用于通过TCP、TLS或WebSockets连接到MQTT代理。 |
| 653 |
用于快速开发云计算和裸机网络功能的框架(原YANFF)。 |
| 27 |
通过TCP和UDP发送数据包。它可以缓冲消息和热交换连接。 |
| 359 |
基于UDP组播的跨平台本地对等点发现库。 |
| 42 |
Simple TCP proxy which adds CORS support to API's which don't support it. |
| 18 |
包publicip返回面向公共的IPv4地址(internet出口)。 |
| 2867 |
在纯Go中实现了QUIC协议。 |
|
| 303 |
Package raw支持在设备驱动程序级别读取和写入网络接口的数据。 |
| 727 |
Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. |
| 1101 |
用于构建SSH服务器的高级API(封装密码/ SSH)。 |
| 113 |
它是一个超级简单的负载平衡器,只是一个实现某种性能的小项目。 |
| 269 |
Go实现的RFC 5389 STUN协议。 |
|
| 281 |
Go 图书馆建设tcp服务器更快。 |
| 6 |
TCP库使用工作池来提高性能并保护服务器。 |
| 149 |
Go uTP微传输协议的实现。 |
|
| 832 |
简单TUN / TAP图书馆。 |
|
| 2166 |
WebRTC API的纯Go实现。 |
|
| 210 |
Go WinRM客户端远程执行Windows机器上的命令。 |
| 81 |
TCP服务器框架具有同时全双工通信,优雅关机,自定义协议。 |
HTTP客户端
用于发出HTTP请求的库。
| name |
star |
desc |
tag |
| 677 |
功能齐全的插件驱动HTTP客户端库。 |
| 98 |
基于gorequest的增强简化HTTP客户机。 |
| 1407 |
一个 Go “克隆”的伟大和著名的请求库。 |
| 1066 |
具有重试和hystrix功能的增强http客户机。 |
| 326 |
使用重试、后退和并发执行HTTP客户机调用。 |
| 26 |
golang stdlib HTTP客户端更好的接口。 |
| 986 |
Sling是一个用于创建和发送API请求的Go HTTP客户端库。 |
OpenGL
用于在Go中使用OpenGL的库。
| name |
star |
desc |
tag |
| 638 |
OpenGL 的 Go 接口实现(通过glow生成)。 |
| 728 |
GLFW 3 的 Go 接口实现。 |
| 131 |
跨平台的OpenGL 接口实现(OS X, Linux, Windows,浏览器,iOS, Android)。 |
| 58 |
跨平台 glfw 库,可用于创建 OpenGL 上下文并接收事件。 |
| 289 |
完全基于 Go 实现的数学软件包,专门用于处理三维数学。借鉴于 GLM。 |
ORM
Libraries that implement Object-Relational Mapping or datamapping techniques.
| name |
star |
desc |
tag |
| - |
强大的orm框架。支持: pq/mysql/sqlite3。 |
| 1 |
一个轻量级的ORM。用于Google/Firebase Cloud Firestore。 |
| 2938 |
用于 PostgreSQL 的ORM。侧重于 PostgreSQL 的特性和性能。 |
|
| 446 |
基于 GORM 100% 类型安全的 ORM。可支持 MySQL, PostgreSQL, Sqlite3, SQL Server。 |
| 231 |
一个灵活而强大的SQL字符串构建器库。 |
|
| 93 |
简单且快速的 Redis 键值存储库。 |
| 14515 |
一个出色的 ORM 库。主要目标是对开发人员友好。 |
|
| 3072 |
基于 Go 的关系持久性 ORM-ish 库。 |
| 112 |
基于 golang 的数据库访问层和验证库。(支持: MySQL, PostgreSQL和SQLite3)。 |
|
| 4 |
Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go. |
| 63 |
从项目结构生成ORM。 |
| 673 |
数据库迁移、创建、ORM等。用于MySQL、PostgreSQL和SQLite。 |
|
| 539 |
Stands for Query By Struct. A Go ORM. |
|
| 791 |
基于非空接口和代码生成的 ORM。 |
| 2249 |
ORM 生成器。根据数据库 schema 生成一个功能强大且运行速度快的ORM。 |
| 1840 |
对外提供统一的接口用于访问不同的存储介质,例如PostgreSQL, MySQL, SQLite, MSSQL, QL、MongoDB.。 |
| 5145 |
基于 Go 的简单而强大的ORM。 |
|
| 239 |
基于 Redis 的快速数据存储和查询引擎。 |
|
包管理
用于管理依赖和包的官方工具
| name |
star |
desc |
tag |
| - |
Modules 是源码的版本控制和交换的单位。go命令直接支持处理模块,包括记录和解决对其他模块的依赖关系。 |
包管理的官方实验工具
| name |
star |
desc |
tag |
| 12530 |
Go 的依赖管理工具,需要 Go 1.9+ |
| - |
Go 命令版本管理 |
用于包和依赖项管理的非官方库。
| name |
star |
desc |
tag |
| 197 |
类似pip的golang依赖工具,支持私有存储库和散列。 |
| 7766 |
轻松管理您的 golang 第三方包。受Maven、Bundler和Pip等工具的启发。 |
| 5648 |
godep是go的依赖工具,它通过修复包的依赖关系来帮助构建可重复的包。 |
|
| 1350 |
Go Manager - bundle for Go。 |
|
| 777 |
Go 的简单依赖管理器,灵感来自Bundler。 |
|
| 50 |
在GOPATH之外构建和管理Go应用程序。 |
| 2349 |
包管理器。 |
|
| 4718 |
包管理器。使用 vendor 文件的 Go vendor 工具。 |
| 1205 |
基本的 Go 依赖管理器。 |
|
| 214 |
使用Git的最小依赖版本。 |
|
| 87 |
插件,为自动加载Golang SDK,依赖关系管理和启动Maven项目基础设施中的构建环境提供了方法。 |
| 245 |
vendor 依赖。 |
|
| 115 |
创建和管理可导出的隔离go虚拟环境。 |
|
查询语言
| name |
star |
desc |
tag |
| 854 |
一个用来查询JSON数据的Go包。 |
| 51 |
graphql解析器+工具集 |
| 2751 |
关注易用性的GraphQL服务器。 |
|
| 5171 |
为Go实现GraphQL。 |
| 201 |
Golang中的JSON查询表达式库。 |
| 23 |
使用高级过滤器查询Jsonpath。 |
| 111 |
用于REST API的资源查询语言。 |
|
嵌入的资源
| name |
star |
desc |
tag |
| 467 |
将文件嵌入到Go程序中并提供http文件系统接口。 |
| 418 |
一个可定制的工具用来在Go中嵌入文件 |
| 14 |
生成go代码,将资源文件嵌入到库或可执行文件中。 |
| 154 |
嵌入到Go中的普通资源。 |
| 1637 |
go.rice 是一个Go包,它使处理html、js、css、图像和模板等资源变得非常容易。 |
| 2081 |
将静态文件嵌入到Go二进制文件中的简单方法。 |
|
| 53 |
将静态资源嵌入到go文件中,用于单个二进制编译+使用http。文件系统+符号链接。 |
| 2080 |
将静态文件嵌入到Go可执行文件中。 |
|
| 20 |
将外部模板文件嵌入到Go代码中,以创建单个文件二进制文件。 |
| 648 |
生成一个vfsdata。静态实现给定虚拟文件系统的go文件。 |
科学与数据分析
用于科学计算和数据分析的库。
| name |
star |
desc |
tag |
| 3 |
assocentity 返回单词到给定实体的平均距离。 |
| - |
为成对比较提供了一个 Bradley-Terry 模型。 |
| 579 |
简单的图表绘制库。支持多种图形类型。 |
|
| 73 |
用于机器学习和统计的数据模型(类似于 pandas)。 |
| 40 |
简单的浮点算术表达式求值器。 |
| 265 |
提供指数加权移动平均算法。 |
| 40 |
Go 的二维几何。 |
| 625 |
Go数字信号处理。 |
|
| 11 |
用Go语言编写的数学函数,不包括在math pkg中。 |
| 5 |
用“Go”语言编写的图论算法。 |
| 5 |
用于 Go 编程语言的复数库。 |
| 13 |
Go 实现熵度量。 |
| 126 |
数据流的近似直方图。 |
|
| 2917 |
Gonum是一组用于Go编程语言的数字库。它包含用于矩阵、统计、优化等的库。 |
|
| 1205 |
gonum/plot提供了一个API,用于在Go中构建和绘制绘图。 |
| 597 |
纯Go图论库(数据结构,算法可视化)。 |
|
| 1301 |
提供线性代数,FFT,几何,NURBS,数值方法,概率,优化,微分方程,等等。 |
| 9 |
GoStats是一个开放源码的GoLang库,主要用于机器学习领域的数学统计,它涵盖了大多数统计度量函数。 |
| 231 |
基本图形算法库。 |
|
| 10 |
常微分方程(ODE)求解器,支持扩展状态和基于信道的迭代停止条件。 |
| 196 |
2D几何类型,支持剪切、GeoJSON和Mapbox矢量平铺。 |
| 48 |
加权 PageRank 算法在Go中的实现。 |
| 5 |
微型线性插值库。 |
| 9 |
实现了针对16进制数 Pi 的“bailee - borwein - plouffe”算法。 |
| 3 |
二次函数求根算法库。 |
| 68 |
Go 稀疏矩阵格式的线性代数支持科学和机器学习应用程序,兼容gonum矩阵库。 |
| 1335 |
包含Golang标准库中缺少的公共函数的统计软件包。 |
| 1313 |
通用图形工具,用于处理数据流。 |
|
| 65 |
TextRank在Golang中的实现,支持扩展特性(摘要、加权、短语提取)和多线程(goroutine)。 |
| 11 |
二维三角库。允许将线和多边形(都基于点)转换为gpu语言。 |
安全
用于帮助您的应用程序更安全的库。
| name |
star |
desc |
tag |
| 1693 |
ACME(让我们用自动更新加密)客户端工具。 |
| 448 |
网络加密代理保护基于数据库的应用程序免受数据泄漏:强选择性加密,SQL注入预防,入侵检测系统。 |
| 72 |
使用常量时间密码比较生成Argon2密码散列。 |
| - |
让我们加密证书并启动TLS服务器。 |
| 246 |
一个驻留在内存中的,应用驱动的监控程序,受 fail2ban 的启发 |
|
| 1815 |
工具和库,以远程入侵RTSP流从监控摄像头。 |
| 6 |
用于生成tls证书的自定义工具。 |
| 131 |
YARA的 Go 语言接口,号称是 “对于恶意软件研究者(以及其他人)来说是模式匹配的瑞士军刀” |
| 11 |
Argon2密码散列和验证设计为与现有Python和PHP实现兼容。 |
| 29 |
一个安全哈希和加密密码的偏执包。 |
| - |
基于规则的数据生成器,用于模糊和渗透测试。 |
| 5 |
JSON Web加密库。 |
| 3464 |
纯 Go ACME 客户端库及命令行工具 |
|
| 1211 |
一个用于处理内存中敏感值的纯Go库。 |
|
| 449 |
Go 实现NaCL API的集合。 |
| 225 |
不过时的密码哈希库。 |
| 1197 |
Go 语言 HTTP 中间件,为 Go 提供了一些安全功能 |
| 156 |
Scrypt 库,具有简单、易懂的 API,同时具有内置的自动校准功能 |
| 195 |
使用ssh密钥加密/解密。 |
| 7 |
使用围绕acme/autocert的高级包装器,SSL证书变得很容易。 |
序列化
用于二进制序列化的库和工具。
| name |
star |
desc |
tag |
| 40 |
面向golang的BER和DER编码库。 |
| 60 |
用于 Go 语言生成 Cap'n Proto schemas 的生成器 |
| 5 |
从Go structs/interface生成TypeScript接口。对JSON RPC很有用。 |
| 7 |
用于将数据映射到结构中的Golang二进制解码器。 |
| 472 |
为Colfer二进制格式生成代码。 |
| 300 |
高性能、惯用的CSV记录编码和解码到本机Go结构。 |
| 6 |
用于Go的固定宽度文件解析器(编码和解码库)。 |
| 272 |
Go 语言用的 Cap'n Proto 库及解析器 |
| 1226 |
高性能、多功能、规范化编码解码以及 rpc 库, 用于 msgpack, cbor 和 json,支持基于运行时的 OR 码生成 |
|
| 2908 |
Go 语言的 Protocol Buffer 库。 |
|
| 5026 |
通过库和协议编译器插件使 Go 语言支持 Google的 protocol buffers. |
|
| 5471 |
高性能,100% 兼容的“encoding/json” 替代品 |
|
| 2381 |
用于对原生键值对进行解码生成 Go 语言结构体 |
| 118 |
用于协同 PHP session 格式数据和 PHP 序列化/反序列化函数工作的go语言库 |
| 94 |
用于从静态结构体简单、动态的生成键值对的库 |
服务器应用程序
| name |
star |
desc |
tag |
| 1582 |
内置支持Lua、Markdown、GCSS和Amber的HTTP/2 web服务器。 |
| 23007 |
Caddy是另一种HTTP/2 web服务器,易于配置和使用。 |
|
| - |
Consul 是一个用于服务发现、监控和配置的工具 |
| 2799 |
为开发人员提供本地web服务器。 |
| 668 |
用于弹性中间层负载平衡和故障转移的注册表。 |
|
| 26252 |
为共享配置和服务发现提供高可用的键值存储。 |
|
| 787 |
Fider是一个收集和组织客户反馈的开放平台。 |
| 815 |
Flagr是一个开源特性标记和A/B测试服务。 |
| 984 |
一个用Go和Vue.js编写的自包含特性标志解决方案 |
|
| 709 |
用Go编写的XMPP服务器。 |
|
| 17158 |
Minio是一个分布式对象存储服务器。 |
|
| 5 |
Nginx日志解析器和Prometheus 导出。 |
| - |
一个实时分布式消息平台。 |
| 5 |
从PostgreSQL到Kafka的流数据库事件。 |
| - |
传递到负载平衡Riemann事件并/或将其转换为 Carbon。 |
| 3224 |
高性能PHP应用服务器,负载平衡器和进程管理器。 |
| - |
小型化、网络化、基于内存的键值存储 |
模板引擎
用于模板和词法分析的库和工具。
| name |
star |
desc |
tag |
| 761 |
Ace 是一个 Go 语言的 HTML 模板引擎,受到了 Slim 和 Jade 的启发。 Ace 是对Gold的一种改进。 |
|
| 822 |
Amber是一个优雅的Go编程语言模板引擎,它的灵感来自HAML和Jade。 |
| 20 |
标记语言,通过css选择器实现了 html 框架 ,并可以通过 pkg html/template 等进行扩展 |
| 415 |
轻量级模板语言,允许您在Go中编写模板。模板被翻译成Go并编译。 |
| 13 |
对 html/template 进行了简单的封装,支持基于文件的模板可以利用其他模板文件进行扩展 |
| 292 |
简单快速的模板引擎。进行模板元素替换时,速度是比text/template快10倍。 |
| 3056 |
PDF 文档生成器,支持文本,绘图和图片 |
|
| 42 |
Goview是一个轻量级、极简的模板库,基于golang html/template构建Go web应用程序。 |
| 1199 |
Hero是一个方便、快速和强大的go模板引擎。 |
|
| 580 |
Jet模板引擎。 |
|
| 70 |
一个用于HTML 和其他文本文件的模板系统,使用go语言实现 |
| 83 |
Go 语言实现的 Shopify Liquid 模板. |
| 967 |
Go 语言实现的 Mustache 模板语言 |
|
| 1484 |
类似 DjanGo 的模板引擎 |
| 1393 |
快速、强大且易用的模板引擎。将模板转化为 Go 语言并进行编译 |
| 338 |
使用 Go 语言实现的完整的 handlebars |
| 696 |
Go 语言的 Razor 视图引擎 |
| 144 |
Go 语言实现的谷歌闭包模板(也就是 Soy templates) ,遵循官方规范。 |
| 64 |
使用 Go 语言实现的完整的 handlebars |
测试
用于测试代码库和生成测试数据的库。
| name |
star |
desc |
tag |
| 13 |
基础断言库,用于对 Go 语言程序进行测试,提供了一些用于自定义断言的代码块 |
| 9 |
Go 语言 testing/iotest 包的扩展。 |
| 643 |
表达性强、多功能的、端到端的HTTP API 测试工具 |
| 6 |
分支测试框架,BDD兼容。 |
| 26 |
监控目录中的文件并对其进行测试 |
| 188 |
为测试生成假接口实现的工具。 |
| 32 |
用于在windows、linux和osx上测试cli应用程序的工具。 |
| 83 |
测试框架的简单快照测试插件。 |
| 84 |
清空数据库用于测试,受到database_cleaner 的启发 |
| 25 |
用于SQL、NoSQL、结构化文件的数据存储测试。 |
| 91 |
声明性端到端功能测试。 |
| 1 |
HTTP客户端测试框架。 |
| 249 |
REST API测试框架。 |
| - |
Go的BDD测试框架。 |
| 195 |
在终端中查看测试覆盖率的工具。 |
| 1132 |
用于比较测试中的Go值的包。 |
|
| 289 |
变异测试的Go源代码。 |
|
| 56 |
极具灵活性的golang深度比较,扩展了go测试包。 |
| 328 |
记录并回放HTTP交互,以便进行快速、确定和准确的测试。 |
| 616 |
类似Mocha的测试框架。 |
| - |
更加高级的测试框架,用于替换 Gotest |
| - |
BDD 风格的测试框架,具有 web 界面和计时刷新功能 |
| 8 |
用于 Go 断言的可组合的类似 hamcrest 的 matchers。 |
| 743 |
类似 Cucumber 或 Behat 的 BDD 框架 |
| 253 |
对 Go 语言的路由框架进行 API 测试 |
| 7 |
类似于 YATSPEC 的Go BDD测试框架。 |
| 30 |
为针对模式测试JSON而创建的库。 |
| - |
类似 Rspec 的 matcher/assertion 库 |
| 111 |
用于 Go 编程语言的bdd风格的测试框架。 |
|
| 51 |
支持 BDD 语法 。对于任何使用过 rspec 等库的人来说应该非常熟悉。 |
| 9 |
轻量级测试套,为 Go1.7's Subtests 带来了setup/teardown 功能 |
| 118 |
一组包,用于增强go测试包并支持公共模式。 |
|
| 26 |
用于声明性 Matcher 对象的连贯框架,当将其应用于输入值时,将产生自描述结果。 |
| 1137 |
简洁的、声明式的、易用的端到端HTTP 及 REST API 测试 |
| 21 |
用于验证JSON有效负载已正确序列化的包。 |
| 49 |
帮助编写 RESTful API 集成测试的 Go 语言微型框架.。 |
| 8 |
行为驱动开发的惯用测试框架。 |
| 321 |
类似 Rails 的测试工具,用于测试数据库应用 |
| 8037 |
对标准测试包的扩展。 |
|
| - |
将markdown代码段转换为可测试的go代码。 |
| 7 |
在测试前从SQL文件生成测试数据,并在测试完成后清除数据。 |
| 5 |
简单而丰富多彩的测试工具。 |
| 62 |
用于单元测试Websocket http.Handler的Websocket客户机。 |
| name |
star |
desc |
tag |
| 357 |
用于生成自包含 mock 对象的工具 |
|
| 1713 |
Mock SQL ,用于测试数据库交互 |
| 158 |
基于单事务的数据库驱动,主要用于测试目的 |
|
| 806 |
多功能、易用 HTTP mock |
| 2795 |
用于Go编程语言的mock框架。 |
| 82 |
HTTP mock : 离线测试时记录和重放浏览器的动作 |
| 1431 |
使用可扩展中间件和易于使用的CLI记录和模拟REST/SOAP api的HTTP(S)代理。 |
|
| 574 |
轻松模拟来自外部资源的HTTP响应。 |
| 253 |
Go接口的模拟生成器。 |
| 22 |
Go http.ResponseWriter的模拟对象。 |
- Fuzzing and delta-debugging/reducing/shrinking.
| name |
star |
desc |
tag |
| 2862 |
随机测试系统。 |
| 529 |
用于生成随机值来初始化 Go 语言对象的库 |
| 211 |
通用模糊测试框架 |
- Selenium and browser control tools.
| name |
star |
desc |
tag |
| 351 |
用于Chrome调试协议的类型安全绑定,可与实现该协议的浏览器或其他调试目标一起使用。 |
| 3507 |
用于驱动和测试 Chrome, Safari, Edge, Android Webviews, 以及其他支持 Chrome 调试协议的产品 |
| 208 |
一个轻量级服务器,可以将 Selenium Wedriver 的请求路由或代理到多个 Selenium hubs |
|
| 1214 |
Selenium hub 服务器的替代品,在容器中启动浏览器 |
| name |
star |
desc |
tag |
| 381 |
为Golang实现failpoints。 |
文本处理
用于解析和操作文本的库。
| name |
star |
desc |
tag |
| 57 |
对文本进行对齐的通用应用程序。 |
| 34 |
用于CLI工具和机器人的占位符和通配符文本解析。 |
| 5 |
将bbCode转换为HTML,使您可以添加对自定义bbCode标记的支持。 |
| 3865 |
Markdown 解析器 |
| 1234 |
HTML 清理工具 |
|
| 7 |
解析缩进代码(python、pixy、scarlet等)并返回树结构。 |
| 8267 |
快速和优雅的 Scraping 框架。 |
|
| 550 |
一组用于Go的公共正则表达式。 |
| 286 |
Web抓取框架将网站转换为结构化数据。 |
| 23 |
DID(分散标识符)解析器和Stringer。 |
| 4 |
文档对象标识符(doi)解析器。 |
| 37 |
Editorconfig文件解析器和Go操作器。 |
| 7 |
libenca的最小cgo绑定。 |
| 3 |
软件包为编码器和解码器提供了通用接口。 |
| 50 |
将正则表达式计数并展开为所有匹配的字符串。 |
| - |
GitHub 风格的 Markdown 渲染器 (使用 blackfriday) ,支持代码块高亮以及可点击的锚点 |
| 25 |
固定宽度的文本格式(带反射的编码器/解码器)。 |
| 1884 |
格式化程序,用于将时间、数字和内存大小转换为可读格式。 |
|
| 94 |
用于Go语言的NMEA解析器库。 |
| 210 |
函数获取字符或字符串的固定宽度。 |
| 28 |
生成漂亮的固定链接地址(slug),支持多种语言 |
| 604 |
使用带有查询支持和方便的cli工具的TOML格式库。 |
|
| 24 |
解析和格式化vCard。 |
| 41 |
用于Go的零宽度字符检测和删除。 |
| 1092 |
在Go中解析RSS和Atom feeds。 |
|
| 292 |
解析Graphviz DOT语言。 |
| - |
格式化二进制为字符串。 |
| 29 |
将人名解析为单独的名称部分。 |
| 145 |
声明式 HTML 编组,使用结构标签和 jQuery 语法 (使用 GoQuery). |
| 7520 |
GoQuery 为 Go 语言带来了一组类似 jQuery 的语法和功能 |
| 35 |
根据正则表达式生成随机字符串 |
| 229 |
GNU gettext 工具 |
| 44 |
通过一个 unicode 文本来猜测该文本使用的语言 |
| 127 |
用于HTML的XPath查询包,允许您通过XPath表达式从HTML文档中提取数据或求值。 |
| 1133 |
包注入提供了一个基于反射的注入器。 |
| 2 |
| 328 |
将XML编码/解码为JSON或map[string]接口{};使用点符号路径和通配符提取值。替换x2j和j2x包。 |
| 69 |
SDP:会话描述协议[RFC 4566]。 |
| 1967 |
Shell解析器和格式化工具。 |
|
| 367 |
URL 友好的 slug 化工具,支持多种语言 |
|
| 26 |
字符串 slug 化的工具。 |
| 5 |
Atom 1.0和RSS 2.0的联合提要。 |
| 2756 |
TOML配置格式(带反射的编码器/解码器)。 |
|
| name |
star |
desc |
tag |
| 15 |
一个基于 sanitization 的 Go 敏感词过滤器。 |
| 199 |
使用 Go 语言简单、美观的打印表格数据 |
|
| 12 |
通用大小写转换工具 |
| 6 |
字符串参数解析器,能够理解引用及反斜杠。 |
| 31 |
URL路径分割解析。 |
| 144 |
快速字符串排序算法。 |
|
| - |
从给定源生成一组标记。 |
| 3 |
关于键盘布局的其他建议。 |
| 17 |
将xml或json转换为struct。 |
| 458 |
从文本中提取url。 |
|
第三方api
用于访问第三方api的库。
| name |
star |
desc |
tag |
| 39 |
| 985 |
Twitter 1.1 API 的 go 语言客户端 |
| 4996 |
AWS 提供的官方go语言 SDK |
|
| 16 |
用于访问 BreweryDB API的 Go 语言库 |
| 66 |
| 41 |
CircleCI的API的客户端 |
| 57 |
Clarifai API的客户端。 |
| 14 |
Codeship API v2的客户端。 |
| 12 |
Coinpaprika API的客户端。 |
| 960 |
Discord Chat API的客户端。 |
|
| 166 |
Ethereum JSON RPC API的客户端。 |
| 765 |
支持 Facebook Graph API 的库 |
| 32 |
Firebase Cloud Messaging 的 Go 语言库 |
| 43 |
Google Adwords 非官方 API |
| 26 |
Asterisk Manager Interface 的 Go 语言库 |
| 29 |
Google Cloud Messaging 库 |
| 305 |
Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs. |
| 4734 |
访问GitHub REST API v3的库。 |
|
| 500 |
访问GitHub GraphQL API v4的库。 |
| 3 |
用于与Chronos作业调度程序进行交互的Go库 |
| 9 |
HackerNews API的小型Go客户端。 |
| 13 |
Go imgur的客户端库 |
| 568 |
Go Atlassian JIRA的客户端库 |
|
| 189 |
用于和 Mesosphere's Marathon PAAS 交互的 Go 语言库 |
|
| 16 |
MyAnimeList API的客户端库。 |
| 5 |
无任何依赖的Sophos UTM REST API客户端 |
| 8 |
SPTrans Olho Vivo API 的客户端。 |
| - |
Telegraph 发布平台 API 客户端。 |
| 100 |
在Github上访问trends repository和developers的库。 |
| 17 |
Twitch v3 API 的客户端。 |
| 706 |
Twitter v1.1 api 的客户端。。 |
|
| 20 |
使用Unsplash.com API的客户端库。 |
| 38 |
xkcd API 的客户端。 |
| 29 |
Golyrics是一个从Wikia网站获取音乐歌词数据的Go库。 |
| 1 |
Go library MalShare API malshare.com |
| 36 |
Go MusicBrainz WS2客户端库。 |
| 1909 |
为Go自动生成谷歌api。 |
|
| 12 |
简单的包装,方便的谷歌分析报告。 |
| 1763 |
谷歌云api Go 客户端库。 |
|
| 6 |
| 118 |
GoStorm是一个Go库,它实现了编写Storm spout和bolt所需的通信协议,这些协议用于与Storm shell通信。 |
|
| 110 |
这个项目为Hipchat API实现了一个golang客户端库。 |
|
| 113 |
一个用于通过XMPP与HipChat通信的golang包。 |
|
| 52 |
| 115 |
Medium的OAuth2 API 客户端。 |
| 57 |
用于访问Apache Mesos集群的客户端库。 |
| 713 |
用于Amazon S3兼容云存储的Minio Go库。 |
| 29 |
Mixpanel是一个库,用于跟踪事件并将Mixpanel概要文件更新从go应用程序发送到Mixpanel。 |
| 18 |
Go Patreon API库。 |
| 300 |
PayPal支付API的包装器。 |
|
| 1 |
Playlyfe Rest API Go SDK。 |
| 57 |
Go 包装的 Pushover API。 |
| 8 |
用于接入 statdns.com API 的库——RRDA API。通过HTTP协议进行 DNS查询。 |
| 19 |
一个用于通过 Shopify API 进行增删改查的 Go 语言库。 |
| 9 |
使用REST和用Go编写的V4签名的AWS S3库非常简单。 |
| 2393 |
Slack API。 |
|
| 10 |
对 Smite game API 的封装。 |
| 16 |
用于接入 Spotify WEB API 的 Go 语言库 |
| 14 |
用于与Steam服务器进行交互的库。 |
| 934 |
Stripe API 的 Go 语言客户端 |
|
| 14 |
textbelt.com txt messaging API 的go语言客户端。 |
| 12 |
能与themoviedb.org简易通信的golang包。 |
| 27 |
Go 在线翻译包。 |
| 100 |
Trello API的 Go 语言封装。 |
|
| 1 |
TripAdvisor API 的 Go 语言封装。 |
| 6 |
Tumblr v2 API 的 Go 语言封装。 |
| 35 |
运行时Robot v2 API 的 Go 语言封装和命令行客户端。 |
| 340 |
GitHub 和 Bitbucket 的Webhook接收器。 |
| 47 |
wit.ai HTTP API 客户端。 |
| 12 |
YNAB API 的 Go 语言封装。 |
| 5 |
Zooz API 的 Go 语言客户端。 |
公用事业公司
可以让你的生活变得更简单的实用工具.。
.envio.Reader
UUID
用于处理uuid的库。
| name |
star |
desc |
tag |
| 20 |
生成和解析RFC4122兼容的V4 uuid。 |
| 3 |
一个小而有效的Go唯一字符串ID生成器。 |
| 14 |
使用嵌入元数据的紧凑、可排序和快速的惟一id。 |
| 1665 |
实现了ULID(普遍唯一的词典分类标识符)。 |
| - |
没有麻烦,安全,快速的唯一标识符与命令。 |
| 10 |
使用快速或加密质量的随机节点标识符生成、编码和解码UUIDs v1。 |
| 562 |
通用唯一标识符(UUID)的实现。支持uuid的创建和解析。积极维护satori uuid的fork。 |
| 283 |
一个非常快的唯一数字生成器,比UUID快10-135倍。 |
验证
库进行验证。
| name |
star |
desc |
tag |
| 44 |
提供校验数字算法(Luhn, Verhoeff, Damm)和计算器(ISBN, EAN, JAN, UPC等)。 |
| 3525 |
用于字符串,数字,切片和结构的验证器和sanitizers。 |
| 711 |
用简单的规则验证Golang请求数据。深受Laravel请求验证的启发。 |
|
| 21 |
jio是一个json模式验证器,类似于joi。 |
| 1027 |
支持各种数据类型(结构、字符串、映射、片等)的验证,使用可配置和可扩展的验证规则,这些规则在通常的代码构造中指定,而不是在结构标签中指定。 |
| 92 |
Go 封装数据验证和过滤。支持验证映射、结构、请求(表单、JSON、url)。值,上载文件)数据和更多特性。 |
|
| 19 |
这个包提供了一个框架,用于为Go应用程序编写验证。 |
| 3456 |
Go 结构体及域验证,包括:跨域、跨结构体, Map, 切片和数组。 |
|
版本控制
用于版本控制的库。
| name |
star |
desc |
tag |
| 69 |
用于GitHub webhook的可编写脚本的服务器和net/http中间件。 |
| 1353 |
libgit2 的 Go 语言接口。 |
| 4171 |
纯Go中高度可扩展的Git实现。 |
|
| 69 |
在Go中操作和检查VCS存储库。 |
| 519 |
从Git存储库历史中获得高级见解。 |
| 12 |
Hgo是一组Go包的集合,提供对本地Mercurial存储库的读取访问。 |
视频
用于操作视频的库。
| name |
star |
desc |
tag |
| 523 |
FFmpeg av* 库的 Go 语言接口。 |
|
| 164 |
使用 Go 语言操作字幕(.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.)。 |
| 256 |
在GO中解析和演示MPEG传输流(.ts)。 |
| 36 |
苹果m3u8播放列表的解析器和生成器库。 |
| 771 |
FFmpeg的Comphrensive。 |
| 152 |
GStreamer的Go工具。 |
|
| 11 |
字幕格式支持 .srt、.ttml和.ass。 |
| 62 |
Go绑定libvlc 2.X/3.X/4。X(由VLC媒体播放器使用)。 |
| 27 |
用于Linux的视频捕捉库,用Go编写。 |
Web框架
全栈 web 框架。
| name |
star |
desc |
tag |
| - |
可伸缩、高性能、快速开发的Go Web框架。 |
| 157 |
高性能的Go web框架,在Lighthouse中达到最高分。 |
| 328 |
一个理想的精细化的Go web框架。 |
| 7 |
非常简单和快速的网络框架 Go 。 |
| 21346 |
beego是一种用于 Go 编程语言的开源高性能web框架。 |
|
| - |
为 Go 语言带来堪比 Rails 的高生产效率! |
| 14570 |
高性能、极简的Go web框架。 |
|
| 48 |
感觉更加自然的 web 框架。 |
| 153 |
简单快速的web框架,对REST API友好。 |
|
| 29534 |
Gin是一个用Go编写的web框架!它具有一个类似于martini的API,性能更好,速度快40倍。 |
|
| 2834 |
《纽约时报》使用的微服务工具包。 |
| 3328 |
设置RESTful JSON API的快速简便方法。 |
| 116 |
小型的 REST 框架。 |
|
| 3495 |
Goa为在Go中开发远程api和微服务提供了一种全面的方法。 |
|
| 71 |
一个非Sinatra快速HTTP框架,支持谷歌自定义方法、深度拦截器、递归等。 |
| 235 |
Golf 是一个快速、简单、轻量级的 Go 语言微型 web 框架。具有强大的功能且没有标准库以外的依赖。 |
|
| 314 |
web框架写的网站越快越好。 |
| 415 |
快速 Go web 框架,支持输入映射/验证以及依赖注入。 |
| 85 |
hiboot是一个高性能的web应用程序框架,支持自动配置和依赖注入。 |
|
| 2803 |
Macaron 是一个高效的模块化设计的web框架 |
| 339 |
ManGo 是一个模块化 web 应用框架,受到 Rack 和 PEP333 的启发。 |
|
| 56 |
创建微服务的框架,用Golang编写。 |
| 392 |
Neo是一个非常简单且快速的Web框架API。 |
|
| 21 |
现代的、最小的和高效的Go HTTP框架。 |
| 33 |
Patron是一个遵循最佳云实践的微服务框架,专注于提升开发效率。 |
| 29 |
用于快速编写基于资源的服务的REST框架。 |
| - |
框架,用于在数据库之上构建REST/GraphQL API,主要是通过代码进行配置。 |
| 11222 |
用于Go语言的高效web框架。 |
| 25 |
Rex 是一个用于进行模块化开发的库,基于Gorilla/mux 完全兼容大多数的 net/HTTP. |
| 2 |
轻量级、开源的web框架,用于构建高性能、数据驱动的web应用程序。 |
| 817 |
微型的、支持插件的 web 框架。 |
|
| 994 |
用于构建 JSON web 服务的 Go 语言框架,受到 Dropwizard 的启发。 |
|
| 519 |
Sinatra启发了regexp/pattern mux和用于Go的web框架。 |
|
| 50 |
受到 Sinatra 启发的 Go 语言 web 框架。 |
| 2134 |
Go(Golang)的轻量级MVC框架。 |
| 39 |
一个面向人类的golang web框架,深受Koa的启发。 |
| 73 |
构建web应用程序的微框架;处理程序链接、中间件和上下文注入。与标准库兼容的HTTP处理程序(即http.HandlerFunc)。 |
| 50 |
快速微框架,旨在以快速和简单的方式构建REST api和web服务。 |
| - |
Zerver是一个表现力强、模块化、功能完备的RESTful框架。 |
中间件
仿真中间件
| name |
star |
desc |
tag |
| 13 |
用于服务器定时报头的HTTP客户机。 |
| 1207 |
轻松地向API添加CORS功能。 |
| 33 |
透明地将JSON输入作为标准表单POST处理。 |
| 743 |
添加/解析Server-Timing头。 |
| 785 |
简单的速度限制中间件。 |
|
| 88 |
使用Lightning Network(比特币)实现基于每个请求的api货币化中间件。 |
| 1238 |
限制速率的 HTTP 请求处理程序。 |
|
| 72 |
处理 X-Forwarded-For 头的中间件。 |
用于创建HTTP中间件的库
| name |
star |
desc |
tag |
| 1822 |
用于连接中间件的库,简单无痛苦。 |
| 7 |
HTTP.Handler wrapper catenation (和chain具有相同的 API ).。 |
| 63 |
带有范围数据的处理程序包装器链接(基于网络/上下文的“中间件”)。 |
| 59 |
net/http的小型中间件包。 |
| 81 |
处理HTML、JSON、XML等响应的Go包。对于RESTful api非常有用。 |
| 289 |
golang的极简网络/http中间件。 |
|
| 208 |
用于net/http的轻量级中间件。 |
| 6310 |
符合语言习惯的 HTTP 中间件库。 |
|
| 1265 |
Go package用于方便地呈现JSON、XML和HTML模板响应。 |
| 168 |
简单、轻量级和更快的响应(JSON、JSONP、XML、YAML、HTML、文件)。 |
| 93 |
支持JWT、CORS、Statsd和Go 1.7上下文的小型Go中间件库(带有罐装中间件)。 |
| 536 |
使用中间件来存储关于web应用程序的各种信息。 |
路由器
httprouterfasthttp
Windows
| name |
star |
desc |
tag |
| 85 |
Direct3D9 的 Go 语言接口。 |
| 550 |
为 Go 语言实现的 Win32 OLE。 |
| 1 |
从SDDL-string到用户友好的JSON的转换器。SDDL由四个部分组成:所有者、主群、DACL、SACL。 |
XML
用于操作XML的库和工具。
| name |
star |
desc |
tag |
| 16 |
简单的命令行XML比较器,生成文件夹、文件和标记的差异。 |
| 15 |
XML来映射转换器编写的Golang。 |
| 6 |
基于libxml2的xmlwriter模块的过程性XML生成API。 |
| 161 |
Go的XPath包。 |
| 145 |
XQuery允许您使用XPath表达式从HTML/XML文档中提取数据。 |
|
| 252 |
从XML生成Go结构。 |
工具
代码分析
| name |
star |
desc |
tag |
| 165 |
检查 Go 项目最近的向下不兼容修改。 |
|
| 171 |
用于代码克隆检测的工具。 |
| 1319 |
Errcheck是一个用于检查Go程序中未检查错误的程序。 |
| 916 |
实时可视化跟踪 GC 数据。 |
| 95 |
checkstyle是一个类似于java checkstyle的检查工具。 |
| 280 |
go-cleanarch 的创建是为了验证 Clean 体系结构规则,比如 Go 项目中的依赖关系。 |
|
| 570 |
源代码检查工具。 |
| 181 |
找出项目中过期的依赖项。 |
| 45 |
显示过期包的终端应用。 |
| 370 |
基于 Web 的 Golang AST 可视化工具。 |
| - |
GoCover.io 提供了任意 golang 包的代码覆盖率服务。 |
| - |
来修复(添加,删除) Go 中自动导入的工具。 |
| - |
GolangCI 是一个针对 GitHub pull 请求的自动代码审查服务。服务是开源的,对开源项目是免费的。 |
| 3134 |
Go 源码的 linter。 |
|
| - |
Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. |
| - |
添加 zero 返回声明,以匹配 func 返回类型。 |
| - |
gosimple 是 Go 源代码的linter,专门用于简化代码。 |
| 241 |
用于显示包含 Go 包的存储库的状态的命令行工具,。 |
| 63 |
将 linters 作为测试的一部分。 |
| 631 |
用 Go 编写的 PHP 解析器。 |
|
| - |
用于大量静态分析检查,您可能已经从 c# 的 ReSharper 等工具中习惯了这些检查。 |
| 14 |
在源码中寻找没有直接单元测试的函数和方法。 |
| 257 |
在源码中删除不必要的类型转换。 |
| - |
对未使用的常量、变量、函数和类型的代码进行检查。 |
| 62 |
使用 tags 自动验证结构体字段。 |
编辑器插件
| name |
star |
desc |
tag |
| - |
JetBrains IDEs 的 Go 插件。 |
| 29 |
A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol. |
| 945 |
在 GNU/Emacs 支持 GO。 |
| 1480 |
在 Atom 中添加自动完成,格式化,语法检查,高亮和审查。 |
|
| 4731 |
Autocompletion daemon for the Go programming language. |
| - |
在 VS Code 中支持 Go 的基准分析。 |
| 3231 |
包含了可为文本编辑器 SublimeText 3 提供代码自动填充和其他类似IDE的功能的 Golang IDE 插件集合。 |
|
| 17 |
基于函数或方法的签名生成Go测试的Vim插件。 |
| 12 |
在 Theia IDE中支持 Go。 |
| 16 |
acme编辑器的IRC客户端。 |
| 80 |
在保存时突出显示语法错误的 Vim 插件。 |
| 10771 |
Go 开发会用到的 Vim 插件。 |
|
| 5091 |
Visual Studio代码的扩展(VS代码),它提供了对Go语言的支持。 |
|
| 166 |
Runs a command in an acme win on file changes. |
|
Go 生成工具
| name |
star |
desc |
tag |
| 27 |
灵活的 Go 数据类型。 |
| 944 |
优雅的 Go 泛型。 |
|
| 52 |
通过同步代码和文档来实现 design-by-contract 设计。 |
| - |
Go中的易用的泛型。 |
| 2173 |
从源代码生成测试用例。 |
| 28 |
使用您自己的模板生成Go测试用例。 |
| 12 |
可生成用于切片的 Haskell。 |
| 168 |
将正则表达式转换为有限状态机,并输出 Go 源代码。 |
| - |
在浏览器中将 TOML 转换为 Go 类型。 |
Go 工具
| name |
star |
desc |
tag |
| 96 |
将 go 命令包装成彩色的 go build 输出。 |
| 373 |
通过分析导入,将包依赖关系树可视化输出。 |
|
| - |
一个基于项目的易用的构建工具。 |
| 13 |
一个Yeoman生成器,用于启动新的 Go 项目。 |
| - |
一个为 Go 项目而生的构建系统和任务运行器。 |
| 1980 |
使用 dot format 可视化 Go 程序的调用图。 |
| 37 |
Bash completion for go and wgo。 |
| 3928 |
基于 Go 的Swagger 2.0实现。 |
|
| 156 |
实现了 Rusts 的 dbg! 宏,可以方便的在开发过程中快速、容易地调试。 |
| 3740 |
借助的 OctoLinker 浏览器扩展,可以高效的地浏览 GitHub go文件。 |
|
| 386 |
用文本装饰丰富 go test 的输出。 |
| 184 |
从服务器响应生成Go结构。 |
|
软件包
用Go编写的软件。
DevOps 工具
ProxyCommand
其他软件
| name |
star |
desc |
tag |
| - |
基于终端的bash代码段搜索引擎。 |
| 72 |
基于Dropbox的博客引擎。 |
| 193 |
微型网络聊天服务器。 |
|
| 1786 |
Circuit 是一个可编程平台即服务(PaaS)和/或基础设施即服务(IaaS),用于管理、发现、同步和编排包含云应用程序的服务和主机。 |
| 6166 |
模拟坏的网络连接。 |
| 6395 |
使用 etcd 或 consul 的模板和数据管理本地应用程序配置文件。 |
| 97 |
个人 DDNS 客户端。 |
| - |
面向开发人员和系统管理员的分布式应用程序的开放平台。 |
| 816 |
集成了SaaS工具数据的现代wiki软件。 |
| 4944 |
基于命令行的谷歌驱动器客户端。 |
| 2679 |
跨平台网络和云备份工具。 |
|
| 495 |
通过WebRTC在两台计算机之间安全地传输文件,不需要任何第三方依赖。 |
| 877 |
App that displays updates for the Go packages in your GOPATH. |
| 375 |
视频流 torrent 客户端。 |
| 2097 |
用 Go 编写的任天堂Game Boy彩色模拟器。 |
| 342 |
Gocc是一个用Go编写的编译器工具包。 |
| 423 |
一个动态DNS客户端工具,支持DNSPod & HE.net。 |
|
| 12 |
包含了 Go 使用手册文档的 Chrome 扩展。 |
| - |
功能齐全的跨平台 Go IDE。 |
| - |
Http 流量复制工具,用于实时回放从生产环境到阶段/开发环境的流量。 |
| - |
快速、现代的静态网站引擎。 |
| 249 |
基于浏览器的IDE |
| 275 |
Open source Pusher server implementation compatible with Pusher client libraries written in GO. |
| 122 |
用于合并多个pcap文件的命令行实用程序。 |
| - |
Cloud-agnostic的服务部署和编制 —— 支持EC2、Azure、Openstack、MAAS等。 |
| 640 |
使用操作转换的成对编程服务。 |
| 1796 |
与 Jupyter 可进行交互 Go 程序。它支持代码完成、代码检查以及与Go 100% 兼容性。 |
| - |
一个强大而优雅的文本编辑器。 |
| 5458 |
简单的、开源的、跨平台的Go IDE。 |
|
| 414 |
一份配置文件中便可伪造HTTP服务器与用户之间的行为。您还可以使服务器随机宕机,以帮助进行更实际的性能测试。 |
|
| 2195 |
命令行网络诊断工具。 |
| 20 |
基于加密管的简单的NaCL EC25519工具。 |
| 4126 |
任天堂娱乐系统(NES)模拟器。 |
| - |
用Go编写的Markdown预览器。 |
| 128 |
一个根据模板来运行命令和生成文件的简单小工具。 |
|
| 603 |
解析表达式语法,是Packrat解析器生成器的实现。 |
|
| 2857 |
一个小巧漂亮的博客平台。 |
|
| 7383 |
消除重复项备份程序。 |
|
| - |
一个应用容器,与其他容器格式(如Docker)兼容,并支持其他执行引擎(如KVM)。 |
| 768 |
一个非常快速准确的代码计数器,采用了复杂的计算和 COCOMO 预估。 |
|
| 8165 |
快速、简单、可伸缩的分布式文件系统,采用了O(1)磁盘查找。 |
|
| 401 |
通过http服务器执行shell命令(用于原型或远程控制)。 |
| 1805 |
强大的遥测框架。 |
| 15 |
当有人通过 Tsuru 部署任何应用程序时,会通知您的团队以及其他工具。 |
| 1987 |
Stack Up 是一个超级简单的部署工具 — 只面向Unix。 |
| - |
开放,分散的文件同步工具和协议。 |
| 17 |
测试你的终端。 |
| 3917 |
为自动化测试模拟网络和系统条件的代理。 |
| - |
Extensible and open source Platform as a Service software. |
| 594 |
高性能、可伸缩和可靠的 IPFIX、sFlow和 Netflow 收集器。 |
| 289 |
Sass 项目管理工具,使用sprite函数(如Compass)扩展语言。 |
资源
在哪里可以找到新的Go库。
基准
| name |
star |
desc |
tag |
| 89 |
用来来比较不同Go版本之间的性能的框架。 |
| 19 |
强大的HTTP基准测试工具,包含了Аb,Wrk,Siege工具。收集统计和各种参数指标,并比较相关结果。 |
| 121 |
Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches |
|
| 1257 |
HTTP请求路由器基准测试和比较。 |
| 989 |
web框架基准测试。 |
| 859 |
Go序列化方法的基准测试。 |
|
| - |
Go语言常用基本操作的基准测试。 |
| 17 |
Go 基础操作的基准测试集合。其目的是将一些语言特性与其他特性进行比较。 |
| 48 |
为流行的 Go 数据库/SQL实用程序收集基准测试。 |
| 93 |
计算语言结构的速度的微观基准测试。 |
| 14 |
K / V 类型数据库基准测试。 |
| 913 |
天网 1M 线程微基准测试。 |
| 172 |
对比各种图像大小调整算法性能。 |
|
会议
E-Books
Gophers
聚会
在这里添加您所在城市/国家的群组(发送PR)
Twitter
网站
教程