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
网站
教程