5130d3f174
auto commit |
||
---|---|---|
docs | ||
LICENSE | ||
MAINTAINERS | ||
README.md |
Awesome Go
此项目是 awesome-go 中文版,最后一次同步时间 : 2019-07-12 09:26:18(每隔1天同步一次)
⭐项目地址 : yinggaozhen/awesome-go-cn⭐
精选了一系列很棒的Go框架、库和软件。灵感来自于awesome-python。
小图标说明 :
小图标 | 说明 |
---|---|
star数量 > 5000 的项目 | |
star数量 > 1000 的项目 | |
star数量 > 100 的项目 | |
最近一周有更新。可以基本判断当前库处于积极维护状态。 | |
最近一年没有更新。反应了此库的维护积极性不高,使用时需谨慎。 |
贡献
你可以快速浏览贡献者名单contribution guidelines. 感觉所有为此项目付出的同学contributors; 你真棒!
如果您在看到一个包或项目不再维护或不适合,请往awesome-go提交Pull Request,本项目每隔一天与英文文档同步。感谢!
内容
-
- 音频和音乐
- 身份验证和OAuth
- Bot建设
- 命令行
- 配置
- 持续集成
- CSS预处理器
- 数据结构
- 数据库
- 数据库驱动程序
- 日期和时间
- 分布式系统
- 电子邮件
- 可嵌入的脚本语言
- 错误处理
- 文件
- 金融
- 表单
- 方法
- 游戏开发
- 代码生成与泛型
- 地理
- Go 编译器
- Goroutines
- GUI
- 硬件
- 图片
- 物联网
- 作业调度器
- JSON
- 日志记录
- 机器学习
- 消息
- 微软办公软件
- 杂项
- 自然语言处理
- 网络
- OpenGL
- ORM
- 包管理
- 查询语言
- 嵌入的资源
- 科学与数据分析
- 安全
- 序列化
- 模板引擎
- 测试
- 文本处理
- Third-party APIs
- 公用事业公司
- UUID
- 验证
- 版本控制
- 视频
- Web框架
- Windows
- XML
音频和音乐
用于操作音频的库。
- EasyMIDI - star:22 EasyMidi是一个简单可靠的库,用于处理标准midi文件(SMF)。
- flac - star:84 原生 Go FLAC解码器,将FLAC文件解码为字节片。
- flac - star:100 原生 Go FLAC编码器/解码器,支持FLAC流。
- gaad - star:55 原生 Go AAC位流解析器。
- go-sox - star:92 libsox 的 Go 语言实现接口。
- go_mediainfo - star:24 libmediainfo 的 Go 语言实现接口。
- gosamplerate - star:8 libsamplerate 的 Go 语言实现接口。
- id3v2 - star:107 快速稳定的 ID3 解析及写入Go库。
- malgo - star:70 迷你音频库。
- minimp3 - star:25 轻量级MP3解码器库。
- mix - star:98 基于序列的 Go 原生音乐混音器。
- mp3 - star:89 原生 Go MP3解码器。
- music-theory - star:253 基于 Go 的音乐理论模型。
- Oto - star:420 多平台的 low-level 声音播放库。
- PortAudio - star:296 基于 Go 的PortAudio audio I/O库。
- portmidi - star:203 PortMidi的 Go 语言实现接口。。
- taglib - star:66 taglib 的 Go 语言实现接口。。
- vorbis - star:22 “原生” Go Vorbis解码器(使用CGO,但没有依赖关系)。
- waveform - star:246 通过音频流生成波形图像的包。
身份验证和OAuth
用于实现验证方案的库。
- authboss - star:1902 web模块化认证系统。它试图删除尽可能多的模板文件和硬编码,以便每次新建一个新的web项目时,您都可以插入、配置并开始构建您的应用程序,而不必每次都构建一个身份验证系统。
- branca - star:69 基于 Go 实现Branca令牌。
- casbin - star:4762 支持ACL、RBAC、ABAC等访问控制模型的授权库。
- cookiestxt - star:2 提供cookie .txt文件格式的解析器。
- go-jose - star:1101 相当完整地实现了JOSE工作组的JSON Web令牌、JSON Web签名和JSON Web加密规范。
- go-oauth2-server - star:1256 用 Golang 编写的独立且符合规范的OAuth2服务器。
- gologin - star:1030 用于使用OAuth1和OAuth2身份验证提供者登录的可链处理程序。
- gorbac - star:898 轻量级的基于角色的访问控制(RBAC)实现。
- goth - star:2227 提供了 OAuth 和 OAuth2 的简单清晰易用的方法。可开箱即用处理多个提供程序。
- httpauth - star:176 HTTP身份验证中间件。
- jwt - star:69 简单易用的JSON Web令牌实现(JWT)。
- jwt - star:78 轻量级JSON Web令牌库。
- jwt-auth - star:152 JWT中间件,可用于Golang http服务器,提供了许多配置选项。
- jwt-go - star:5783 JSON Web令牌(JWT)。
- loginsrv - star:798 JWT登录微服务带有可插拔的后端服务,如OAuth2 (Github)、htpasswd、osiam。
- oauth2 - star:2340 goauth2的继任者。通用OAuth 2.0包,附带JWT、谷歌api、计算引擎和应用程序引擎支持。
- osin - star:1535 OAuth2服务器库。
- paseto - star:222 平台无关的安全令牌(PASETO)。
- permissions2 - star:346 用于跟踪用户、登录状态和权限的库。依赖于cookie安全和bcrypt。
- rbac - star:26 最小的RBAC包。
- scs - star:518 HTTP服务器的会话管理器。
- securecookie - star:32 高效安全的cookie编码/解码。
- session - star:88 web服务器会话管理(包括支持谷歌应用程序引擎- GAE)。
- sessiongate-go - star:8 使用SessionGate Redis模块进行会话管理。
- sessions - star:46 非常简单,高性能,可深度定制的会话服务,主要用于的 go http 服务器。
- signedvalue - star:7 与[Tornado's](https://github.com/tornado oweb/tornado) 完全兼容的签名和时间戳字符串实现. create_signed_value ', ' decode_signed_value ',因此' set_secure_cookie '和' get_secure_cookie '。
- sjwt - star:26 简单的jwt生成器和解析器。
Bot建设
用于构建和使用机器人的库。
- go-chat-bot - star:460 用 Go 编写的IRC, Slack和电报机器人。
- go-sarah - star:135 此框架提供了聊天机器人相关的服务,包括LINE、Slack、Gitter等。
- go-tgbot - star:83 由swagger文件、基于会话的路由器和中间件生成的纯Golang Telegram Bot API包装器。
- Golang CryptoTrading Bot - star:209 基于控制台的,用于加密货币交易所的的交易机器人。
- govkbot - star:23 简单的Go VK bot库。
- hanu - star:107 用于编写Slack机器人的框架。
- Kelp - star:152 官方交易和做市机器人为Stellar DEX。开箱即用的作品,用 Golang 编写,兼容集中交易和定制交易策略。
- margelet - star:57 构建电报机器人的框架。
- micha - star:10 基于 GO 实现的Telegram 机器人API库。
- slacker - star:303 可简单创建Slack机器人的框架。
- slackscot - star:10 另一个构建Slack机器人的框架。
- tbot - star:213 带有类似于net/http API的Telegram bot服务器。
- telebot - star:932 用Go编写的Telegram bot框架。
- telegram-bot-api - star:1580 简单轻量级的Telegram bot客户端。
- Tenyks - star:167 面向服务的IRC bot,使用Redis和JSON进行消息传递。
命令行
标准CLI
用于构建标准或基本命令行应用程序的库。
- argparse - star:101 命令行参数分析器,灵感来自Python的argparse模块。
- argv - star:17 基于Base 语法,用于分隔命令行字符串并将其作为参数的 Go 语言库,
- cli - star:472 基于golang结构标签,功能丰富易于使用的命令行包。
- cli - star:56 为 Go 构建命令接口提供简单而完整的API。
- cli-init - star:866 一个简单就可开启构建Golang命令行的应用程序。
- climax - Alternative CLI with "human face", in spirit of Go command.
- cmdr - star:8 一个POSIX/GNU风格的、类似getopt的命令行UI Go库。
- cobra - star:12757 现代Go CLI命令行交互工具。
- commandeer - star:82 开发友好的CLI应用程序。
- complete - star:608 使用 Go 语言编写的 bash 命令补全工具以及 Go 命令补全工具.
- docopt.go - star:1132 会让你满意的命令行参数解析器。
- env - star:41 基于标记的结构化的环境配置。
- flag - star:101 简单但功能强大的命令行选项解析库,用于支持Go子命令。
- flaggy - star:444 一个健壮的、易用的标志包,具有出色的子命令支持。
- flagvar - star:31 符合 Go 标准的“flag”标志参数类型包。
- go-arg - star:643 基于结构的参数解析。
- go-commander - star:14 用于简化CLI工作流的 Go 库。
- go-flags - star:1494 Go 命令行选项解析器。
- go-getoptions - star:5 Go 选择解析器,借鉴于Perl灵活性的GetOpt::Long。
- gocmd - star:33 用于构建命令行应用程序。
- hiboot cli - 具有自动配置和依赖注入的cli应用程序框架。
- job - star:44 工作,把你的短期指令当作长期任务。
- kingpin - star:2504 支持子命令的命令行和标志解析器。
- liner - star:574 类似readline-like的命令行接口库。
- mitchellh/cli - star:990 用于实现命令行接口的Go库。
- mow.cli - star:620 用于构建具有复杂标志和参数解析和验证的CLI应用程序。
- ops - star:242 Unikernel 构建器/协调器。
- pflag - star:733 基于POSIX/GNU-style --flags实现的包,主要用于替换Go的falg包。
- readline - star:1362 纯golang实现,在MIT许可下提供了GNU-Readline的大部分特性。
- sand - star:5 用于创建解释器等的简单API。
- sflags - star:84 基于结构的flag生成器,用于flag、urfave/cli、pflag、cobra、kingpin和其他库。
- strumt - star:27 用于创建提示链。
- ukautz/clif - star:98 简小的命令行接口框架。
- urfave/cli - star:11126 可让你简单、快速和愉快的构建命令行应用(之前是codegangsta/cli)。
- wlog - star:35 支持跨平台和并发的简单日志记录接口。
- wmenu - star:81 为cli程序提供了简单上手的菜单,可提示用户作出选择。
高级控制台用户界面
用于构建控制台应用程序和控制台用户界面的库。
- asciigraph - star:1124 在命令行中构建轻量级ASCII线图╭┈╯,应用程序中没有其他依赖项。
- aurora - star:608 支持fmt.Printf/Sprintf的ANSI终端颜色。
- cfmt - star:67 提供上下文的fmt,灵感来自于bootstrap color classes。
- chalk - star:303 美化终端/控制台输出。
- color - star:2987 多功能包装,彩色终端输出。
- colourize - star:16 在终端提供ANSI彩色文本。
- ctc - star:9 不需要Print方法的非侵入性跨平台终端颜色库。
- go-ataman - star:8 在终端提供ANSI彩色文本模板。
- go-colorable - star:373 适用于windows的颜色编写器。
- go-colortext - star:198 在终端中使用彩色文字。
- go-isatty - star:339 Go 实现的 isatty。
- go-prompt - star:2275 构建一个强大的交互式提示,借鉴于python-prompt-toolkit
- gocui - star:5125 旨在创建控制台用户界面的极简Go库。
- gommon/color - 更换终端文本样式。
- gookit/color - star:188 终端显色工具库,支持16种颜色,256种颜色,RGB显色输出,兼容Windows。
- mpb - star:500 可在终端显示多进度条。
- progressbar - star:556 基本线程安全的进度条,在每个操作系统工作。
- simpletable - star:154 可在终端显示简易表格。
- tabby - star:246 一个可在终端生成一个极简Golang表格轻量级库
- tabular - star:29 不需要向API传递大量参数就可从命令行实用程序中打印ASCII表。
- termbox-go - star:3446 基于文本的跨平台接口库。
- termdash - star:783 此库是基于termbox-go实现的,借鉴于termui。
- termtables - star:212 使用Ruby库terminal-tables的端口生成简单的ASCII表,并提供标记和HTML输出。
- termui - star:8828 此库是基于termbox-go实现的,借鉴于blessed-contrib。
- uilive - star:820 用于实时更新终端输出的库。
- uiprogress - star:1520 在终端呈现进度条,可灵活配置的。
- uitable - star:496 改善终端应用程序中表格数据的可读性。
配置
配置解析的库。
- config - star:188 云本地应用程序配置。将ENV绑定到结构体仅需两行代码。
- config - star:210 带有环境变量和标记解析的JSON或YAML配置包装器。
- configure - star:49 通过多个源提供配置,包括JSON、flags和环境变量。
- confita - star:237 从多个后端级联加载配置到struct中。
- conflate - star:8 合并来自任意url的多个JSON/YAML/TOML文件、针对JSON模式的验证以及模式中定义的默认值的应用程序。
- env - star:839 解析环境变量并赋值到struct中(默认值)。
- envcfg - star:90 对环境变量进行解析,并赋值到struct。
- envconf - star:7 从环境配置中读取配置。
- envconfig - star:146 从环境变量中读取配置。
- envh - star:93 协助管理环境变量的Helpers。
- gcfg - star:116 将ini的配置文件读入 Go structs中;支持用户定义的类型和子选项。
- go-up - star:24 一个简单的配置库,具有递归占位符解析功能。
- goConfig - star:103 将结构体解析为输入,并用来自命令行、环境变量和配置文件的参数填充该结构体的字段。
- godotenv - star:2065 Ruby 的 dotenv 库的 Go移植版(从.env文件加载环境变量)。
- gofigure - star:57 让程序配置变得简单。
- gone/jconf - 模块化的JSON配置。保持配置结构及其配置的代码,并将解析委托给子模块,而不牺牲配置的完整序列化。
- gookit/config - star:73 程序配置管理(load,get,set)。支持JSON, YAML, TOML, INI, HCL。支持多文件加载,数据覆盖合并。
- harvester - star:33 一个易于使用的静态和动态配置包
- hjson - star:171 更加人性化的JSON配置。轻松的语法,更少的错误,更多的注释。
- ingo - star:23 flag保存在类ini的配置文件中。
- ini - star:1542 读和写INI文件。
- joshbetz/config - star:194 一个可解析环境变量、JSON文件小巧的配置库,在SIGHUP时会自动重新加载。
- kelseyhightower/envconfig - star:2363 管理来自环境变量的配置数据。
- koanf - star:72 轻量级可扩展库,用于读取Go应用程序中的配置。内置支持JSON, TOML, YAML, env,命令行。
- konfig - star:508 可组合、可观察和高性能的分布式配置管理。
- mini - star:19 用于解析ini类型的配置文件。
- sprbox - star:3 支持构建环境的工具箱工厂和其他不确定的配置解析器(如YAML、TOML、JSON和环境vars)。
- store - star:242 轻量级配置管理器。
- viper - star:9058 配置管理。
- xdg - star:32 遵循XDG标准的跨平台包。
持续集成
用于帮助进行持续集成的工具。
- drone - star:18753 Drone 是一个基于 Docker 的持续集成平台,用 Go 编写。
- duci - star:41 一个简单的 ci 服务。
- gomason - star:27 在一个干净的工作区中对你的 Go 二进制文件进行测试、构建、签名和发布。
- goveralls - star:571 Coveralls.io 是一个用 Go 编写,可持续对代码覆盖率进行检测的系统。
- overalls - star:97 针对多package 的 Go 语言项目,可为类似 goveralls 这样的工具生成覆盖率报告。
- roveralls - star:12 递归覆盖测试工具。
CSS预处理器
用于预处理CSS文件的库。
- gcss - star:422 纯Go编写的 CSS 预处理器。
- go-libsass - star:130 采用 Go封装,100% 与 Sass 兼容的 libsass 项目。
数据结构
用 Go 实现的通用的数据结构和算法。
- algorithms - star:230 算法和数据结构。来源于CLRS。
- binpacker - star:122 帮助用户构建自定义二进制流的二进制封装器和解包器
- bit - star:51 Go 语言集合数据结构。提供了额外的位操作功能。
- bitset - star:476 实现了 bitsets 的 Go 包。
- bloom - star:128 在Go中实现了Bloom过滤器。
- bloom - star:38 Golang Bloom过滤器的实现。
- boomfilters - star:1126 用于处理连续的概率数据结构。
- concurrent-writer - star:23 具备高并发能力,可替换 bufio.Writer。
- conjungo - star:75 一个小型、强大和灵活的合并库。
- count-min-log - star:43 Go实现Count-Min-log sketch的功能 : 使用近似计数器进行近似计数(类似Count-Min sketch,但使用更少内存)。
- crunch - star:19 打包实现缓冲区,以便轻松处理各种数据类型。
- cuckoofilter - star:500 布谷鸟过滤器:一个用Go实现,可替代计数 bloom 过滤器。
- deque - star:5 高度优化的双端队列。
- deque - star:59 快速环缓冲区deque(双端队列)。
- dict - star:8 实现类似 python dict的功能(dict)。
- encoding - star:94 整形压缩库。
- go-adaptive-radix-tree - star:86 自适应基数树。
- go-datastructures - star:5067 可靠的、高性能的和线程安全的数据结构的集合。
- go-ef - star:10 实现了 Elias-Fano 编码。
- go-geoindex - star:309 基于内存的地理索引。
- go-mcache - star:33 基于内存的实现了高性能的key:value存储库。指针缓存。
- go-rquad - star:99 区域四叉树具有高效的点定位和邻域查找功能。
- goconcurrentqueue - star:25 并行FIFO队列。
- gods - star:6129 数据结构。容器、集合、列表、堆栈、地图、BidiMaps、树、HashSet等。
- golang-set - star:1129 线程安全和非线程安全的高性能集。
- goset - star:16 一个有用的Go集合实现。
- goskiplist - star:192 基于 Go 的跳表实现。
- gota - star:856 实现了数据帧,序列以及数据噪音。
- hide - star:7 ID type with marshalling to/from hash to prevent sending IDs to clients.
- hilbert - star:178 用于映射空间填充曲线(例如 Hilbert 曲线和 Peano 曲线)和数值。
- hyperloglog - star:659 HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
- levenshtein - star:32 Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
- levenshtein - star:53 实现在Go中计算levenshtein距离。
- mafsa - star:273 实现了 MA-FSA ,包含最小完美哈希。
- merkletree - star:143 实现了merkle树,提供了对数据结构内容的有效和安全的验证。
- mspm - star:7 用于信息检索的多字符串模式匹配算法。
- null - star:5 对空的 Go 数据类型也可以进行JSON进行解析/反解析。
- parsefields - star:3 用于解析类似json的日志的工具,用于收集惟一的字段和事件。
- pipeline - star:15 实现了 fan-in 和 fan-out 的管道功能。
- ptrie - 前缀树的一种实现。
- ring - star:87 高性能、线程安全的bloom过滤器。
- roaring - star:645 实现了压缩 bitsets 的Go包。
- set - star:6 使用LinkedHashMap在Go中实现简单的set数据结构。
- skiplist - star:97 高性能的 Go 跳表实现。
- skiplist - star:63 在Go中实现了跳表。
- timedmap - star:1 实现了有生命周期的键值对Map。
- treap - star:7 使用树堆进行持久、快速有序的映射。
- trie - star:411 在Go中实现Trie。
- ttlcache - star:93 基于内存的LRU算法实现。
- typ - star:9 从复杂结构中获取值,支持空类型、安全的类型转换。
- willf/bloom - star:650 实现Bloom过滤器。
数据库
数据库。
- badger - star:6148 快速 K/V 存储。
- bcache - star:26 基于内存的最终一致的分布式缓存。
- BigCache - star:2396 高效的键/值缓存为千兆字节的数据。
- bolt - star:9889 K/V 数据库。
- buntdb - star:2423 基于内存的K/V,快速,可嵌入的数据库,可自定义索引和空间支持。
- cache - star:12 基于内存的 K/V 存储:带生命周期的值存储,0个依赖项,<100 LoC, 100%覆盖率。
- cache2go - star:984 基于内存的 K/V 缓存,支持超时的自动失效。
- clusteredBigCache - star:29 BigCache 支持集群和独立且生命周期存储项。
- cockroach - star:16598 可伸缩、区域备份、事务性数据存储。
- couchcache - star:40 由 Couchbase服务 支持的RESTful缓存微服务。
- CovenantSQL - star:1431 区块链领域的一个SQL数据库。
- dgraph - star:9966 可伸缩、分布式、低延迟、高吞吐量的图形数据库。
- diskv - star:741 支持磁盘备份的可持久化 K/V 存储。
- eliasdb - star:533 无其他依赖项,支持REST API,短语搜索和sql类似的查询语言的事务图数据库。
- fastcache - star:470 基于内存的快速线程安全的缓存,可缓存大量的条目。最大限度地减少GC开销。
- GCache - star:868 支持过期缓存、LFU、LRU和ARC的缓存库。
- go-cache - star:2810 基于内存的 K/V 存储/缓存 : (类似于Memcached),适用于单机应用程序。
- goleveldb - star:3117 在Go中实现LevelDB key/value数据库。
- gorocksdb - star:8 用 Go 对RocksDB实现了封装。
- groupcache - star:7566 Groupcache是一个缓存和缓存填充库,在许多情况下,它是memcached的替代品。
- influxdb - star:16767 可伸缩的数据存储,用于指标衡量、事件和实时分析。
- ledisdb - star:3045 Ledisdb是一种高性能的NoSQL,类似于基于LevelDB的Redis。
- levigo - star:365 实现了对LevelDB封装。
- moss - star:715 Moss是一个用100% Go编写的简单LSM键值存储引擎。
- nutsdb - star:848 Nutsdb是一个用纯Go编写的简单、快速、可嵌入、持久的键/值存储。它支持完全序列化的事务和许多数据结构,如列表、集合、排序集。
- piladb - star:171 基于堆栈数据结构的轻量级RESTful数据库引擎。
- prometheus - star:25036 用于监控系统和时序的数据库。
- pudge - star:218 使用Go的标准库编写的快速和简单的键/值存储。
- rqlite - star:4653 基于SQLite的轻量级分布式关系数据库。
- Scribble - star:57 小型平面文件JSON存储。
- slowpoke - star:85 具有持久性的键值存储。
- tempdb - star:13 用于临时数据存放的 K/V 存储。
- tidb - star:19638 TiDB是一个分布式SQL数据库。灵感来自谷歌F1的设计。
- tiedot - star:2358 属于你的NoSQL数据库。
- Vasto - star:143 分布式高性能键值存储。可做磁盘备份。最终一致。高可用。能够在不中断服务的情况下增长或收缩。
- VictoriaMetrics - star:901 开源,快速,可伸缩的时间序列数据库。支持PromQL。
数据库迁移。
- avro - star:5 发现SQL schemas并将其转换为AVRO schemas。
- darwin - star:85 用于数据库 schema 升级的库。
- go-fixtures - star:19 类似 Django fixture,用于 Go 建立内置数据库/sql库。
- go-pg-migrations - star:23 用Go -pg/pg编写的迁移包。
- gondolier - star:26 使用结构修饰的数据库迁移库。
- goose - star:117 数据库迁移工具。您可以通过创建增量SQL或Go脚本来管理数据库的升级。
- gormigrate - star:321 面向Gorm ORM的数据库 schema 迁移辅助程序。
- migrate - star:2472 基于CLI的数据库迁移库。
- migrator - star:29 非常简单的 Go 数据库迁移库。
- pravasan - star:24 简易的迁移工具-目前只支持MySQL,但计划很快支持Postgres, SQLite, MongoDB等。
- soda - 数据库迁移、创建、ORM等。用于MySQL、PostgreSQL和SQLite。
- sql-migrate - star:1380 数据库迁移工具。允许使用go-bindata将迁移嵌入到应用程序中。
数据库工具。
- chproxy - star:295 ClickHouse数据库的HTTP代理。
- clickhouse-bulk - star:127 收集小的 insterts 并向 ClickHouse 服务器发送大请求。
- datagen - star:6 一个快速的数据生成器,支持多表感知和多行DML。
- dbbench - star:30 数据库基准测试工具,支持多个数据库和脚本。
- go-mysql - star:1814 Go 工具集,用于处理MySQL协议和复制。
- go-mysql-elasticsearch - star:2302 自动将MySQL数据同步到Elasticsearch中。
- kingshard - star:4545 kingshard 是基于 Golang 的MySQL高性能代理。
- myreplication - star:142 MySql二进制日志复制监听器。支持基于语句和行的复制。
- octillery - star:50 用于数据库分表(支持每个ORM或原生SQL)。
- orchestrator - star:2971 MySQL复制拓扑管理器和可视化工具。
- pgweb - star:5946 基于web的PostgreSQL数据库浏览器。
- prep - star:24 在不更改代码的情况下使用准备好的SQL语句。
- pREST - star:2069 基于PostgreSQL database的RESTful API服务。
- rwdb - star:10 rwdb为多个数据库服务器的设置提供读取副本功能。
- vitess - star:8311 vitess提供了可以为大规模web服务扩展MySQL数据库提供便利的服务和工具。
SQL查询生成器,用于构建和使用SQL的库。
- Dotsql - star:437 Go library帮助您将sql文件保存在一个地方,并轻松地使用它们。
- gendry - star:732 非入侵的SQL构建器和强大的数据绑定器。
- godbal - star:50 数据库抽象层(dbal)。支持SQL builder,轻松获取结果。
- goqu - star:522 常用的SQL生成器和查询库。
- igor - star:77 PostgreSQL的抽象层,支持高级功能和类似gorm的语法。
- ormlite - 包含一些类似orm的特性和sqlite数据库的辅助程序的轻量级包
- ozzo-dbx - star:434 Powerful data retrieval methods as well as DB-agnostic query building capabilities.
- scaneo - star:149 生成用于将数据库行转换为任意结构体的 Go 代码。
- sqrl - star:174 SQL查询生成器,从Squirrel fork而来,并再此基础上对性能做了优化。
- Squalus - Go SQL中间层,能使得执行查询更加容易。
- Squirrel - star:2209 帮助您构建SQL查询的Go库。
- xo - star:2131 基于现有的schema定义和自定义查询生成 Go 代码,基于支持PostgreSQL、MySQL、SQLite、Oracle和Microsoft SQL Server。
数据库驱动程序
用于连接和操作数据库的库。
-
Relational Databases
- avatica - star:32 Apache Avatica/Phoenix SQL驱动程序。
- bgc - star:12 BigQuery 的数据存储连接。
- firebirdsql - star:102 Firebird RDBMS SQL驱动程序。
- go-adodb - star:90 Microsoft ActiveX对象数据库驱动程序。
- go-mssqldb - star:1002 微软MSSQL驱动程序。
- go-oci8 - star:398 Oracle 驱动程序。
- go-sql-driver/mysql - star:7912 MySQL驱动程序。
- go-sqlite3 - star:3370 SQLite3驱动程序。
- gofreetds - star:90 基于FreeTDS封装的微软MSSQL Go 驱动。
- goracle - star:228 基于 ODPI-C 的 Oracle 驱动程序
- pgx - star:1869 PostgreSQL驱动,支持比现有database/sql更多的特性。
- pq - star:5092 纯 Go 的Postgres驱动。
-
NoSQL Databases
- aerospike-client-go - star:301 Aerospike 客户端。
- arangolite - star:65 轻量级的 ArangoDB 驱动。
- asc - star:4 Aerospike 的数据存储连接器。
- dynago - star:65 满足 principle of least surprise 的 DynamoDB 客户端。
- forestdb - star:30 基于 Go 的 ForestDB 接口实现。
- go-couchbase - star:292 Couchbase客户端。
- go-couchdb - star:51 基于 Go 的 Yet another CouchDB 的 Http 接口封装。
- go-pilosa - star:32 Pilosa客户端。
- go-rejson - star:85 实现了基于 Redigo 客户端的redislabs' ReJSON 模块。可简单地将结构体存储为JSON对象并对其进行操作。
- gocb - star:290 官方Couchbase Go SDK。
- gocql - Apache Cassandra 的 Go 驱动。
- godis - star:57 redis客户端由golang实现,灵感来自jedis。
- godscache - star:6 谷歌云平台Go Datastore包的封装,它采用了memcached添加缓存。
- gomemcache - memcache客户端库。
- gorethink - star:1456 RethinkDB 驱动。
- goriak - star:24 Riak KV 驱动。
- mgo - star:1610 (已停止维护) MongoDB驱动。
- mongo-go-driver - star:2936 官方的 MongoDB 驱动。
- neo4j - star:24 Neo4j Rest API实现。
- Neo4j-GO - star:72 Neo4j REST 客户端。
- neoism - star:356 Golang 的 Neo4j 客户端。
- redeo - star:258 与 redis 协议兼容的 TCP 服务器/服务。
- redigo - star:6167 Redigo 是基于 Go 的Redis 客户端。
- redis - star:6246 基于 Go 的 Redis 客户端。
- xredis - star:9 类型安全,可定制,清晰和易用的Redis客户端。
-
Search and Analytic Databases.
- bleve - star:5756 基于 Go 的现代文本索引库。
- elastic - star:4025 Elasticsearch 客户端。
- elasticsql - star:375 将 SQL 转换为 elasticsearch dsl。
- elastigo - star:948 Elasticsearch 客户端。
- go-elasticsearch - star:1492 官方 Elasticsearch 客户端。
- goes - star:24 实现了与 Elasticsearch 交互的库。
- riot - star:4640 基于 Go 的 开源、分布式、简单高效的搜索引擎。
- skizze - star:68 面向概率数据结构的服务和存储。
-
Multiple Backends.
日期和时间
用于处理日期和时间的库。
- carbon - star:333 简单的时间扩展,包含了许多使用方法,从 PHP Carbon 库移植的。
- date - star:27 增加处理日期、日期范围、时间跨度、时间段和time-of-day。
- dateparse - star:877 可以解析很多格式不固定的日期字符串。
- durafmt - star:237 轻量级、可让time.Duration更加易读的库。
- feiertage - star:21 用于计算德国公共假期的函数,比如复活节、感恩节等
- go-persian-calendar - star:59 太阳历实现。
- go-sunrise - star:13 计算指定位置的日出和日落时间。
- goweek - star:18 用于处理以星期实体单位的库。
- iso8601 - star:68 不用正则表达式有效解析 ISO8601 日期时间。
- kair - star:9 用于处理日期和时间的 golang 库。
- now - star:2143 now 是时间有关的工具类。
- NullTime - star:9 可以允许 time.Time 为null。
- strftime - star:5 C99-compatible strftime formatter。
- timespan - star:60 用于处理时间间隔相关的库,可定义开始时间和持续时间。
- timeutil - star:168 面向 Golang 的时间库,集成了很多有用的扩展(Timedelta, Strftime, ...)。
- tuesday - star:7 Ruby-compatible Strftime function。
分布式系统
协助构建分布式系统的包。
- celeriac - star:52 用于对 Celery worker、任务、事件进行交互和监控的库。
- consistent - star:182 Consistent hashing with bounded loads。
- dht - star:123 BitTorrent Kademlia DHT的实现。
- digota - star:297 基于 grpc 的电子商务微服务。
- dot - 基于 transformation/OT 的分布式同步。
- doublejump - star:38 实现了谷歌的jump consistent hash。
- dragonboat - star:2459 一个功能齐全,高性能的库集。
- drmaa - star:24 符合 DRMAA 标准的集群调度程序作业提交库。
- dynamolock - DynamoDB-backed 分布式锁定实现。
- dynatomic - star:8 基于 DynamoDB 的 原子计数器的库。
- emitter-io - star:1884 高性能、分布式、安全和低延迟的发布-订阅平台,使用MQTT、Websockets和love构建。
- flowgraph - star:18 flow-based programming package。
- gleam - star:2049 使用纯Go和Luajit编写的快速、可伸缩的分布式map/reduce系统,结合了Go的高并发性和Luajit的高性能,可以独立运行或分布式运行。
- glow - star:2499 全部用 Go 实现,易用、可伸缩,可用于分布式大数据处理,Map-Reduce, DAG执行。
- go-health - star:475 用于在服务中启用异步依赖项健康检查的库。
- go-jump - star:250 提供了谷歌的 “Jump” 一致哈希函数接口。
- go-kit - star:14173 支持服务发现、负载平衡、插件式传输、请求跟踪等功能的Microservice toolkit。
- gorpc - star:548 简单、快速和可伸缩的RPC库。
- grpc-go - star:8825 gRPC的Go语言实现。
- hprose - star:990 支持25+种语言RPC库。
- jaeger - star:8446 分布式跟踪系统。
- jsonrpc - star:113 jsonrpc 包,实现了 JSON-RPC 2.0。
- jsonrpc - star:98 JSON-RPC 2.0 HTTP客户端。
- KrakenD - star:1671 具有中间件的高性能API网关框架。
- micro - star:6465 可插拔的微服务 toolkit 和分布式系统平台。
- NATS - star:5958 轻量级、高性能消息传递系统,可用于微服务、物联网(IoT)和云。
- outboxer - star:2 实现了 outbox pattern Go 库。
- pglock - postgresql 的分布式锁定实现。
- raft - star:2798 Raft consensus协议的实现。 by HashiCorp。
- raft - Raft consensus协议的实现。 by CoreOS。
- redis-lock - star:145 基于redis的分布式锁简易实现。
- resgate - 用于构建REST、实时和RPC API的实时API网关,其中所有客户端都是无缝同步的。
- ringpop-go - star:568 可伸缩的,容错、应用分层的的Go应用程序。
- rpcx - star:3689 分布式可插拔的RPC服务框架,如阿里巴巴Dubbo。
- sleuth - star:298 用于HTTP服务之间进行无中心p2p自动发现和RPC通信的库(使用ZeroMQ)。
- tendermint - star:3068 一个高性能中间件,可将任何语言的状态机转换为 Byzantine Fault 状态机。使用 Tendermint 一致性及区块链协议。
- torrent - star:2787 BitTorrent 客户端。
电子邮件
实现了电子邮件创建和发送。
- chasquid - 用Go编写的SMTP服务器。
- douceur - star:158 在HTML邮件中支持CSS内联。
- email - star:1077 一个强大和灵活的电子邮件库。
- go-dkim - star:46 DKIM库,用于签署 & 验证电子邮件。
- go-imap - star:710 用于客户端和服务器的IMAP库。
- go-message - star:102 用于Internet消息格式化和邮件消息的流媒体库。
- go-premailer - star:34 在HTML邮件中支持CSS内联。
- Gomail - 一个非常简单和强大的邮件发送库。
- Hectane - star:168 轻量级的SMTP客户机,提供了HTTP API。
- hermes - star:1600 可生成干净的、响应式的HTML电子邮件。
- MailHog - star:5065 电子邮件和SMTP测试工具,对外提供了 web 和 API 接口。
- SendGrid - star:516 SendGrid 的 Go语言库,用于发送电子邮件。
- smtp - star:49 SMTP服务器协议状态机。
可嵌入的脚本语言
在go代码中嵌入其他语言。
- agora - star:322 基于 Go 的动态类型,可嵌入的编程语言。
- anko - star:912 用Go编写的解释器。
- binder - star:29 Lua接口,基于gopher-lua。
- expr - star:662 一个可以计算表达式的引擎。
- gentee - star:25 嵌入式脚本编程语言。
- gisp - star:429 LISP 的 Go 接口。
- go-duktape - star:649 支持 Duktape JavaScript 引擎。
- go-lua - star:1647 用 Go 实现的 Lua 5.2 VM接口。
- go-php - star:670 PHP 的 Go 接口。
- go-python - star:895 CPython C-API 的 Go 接口。
- golua - star:435 Lua C 的 Go 接口。
- gopher-lua - star:2916 用 Go 实现的 Lua 5.1 虚拟机和编译器。
- gval - star:132 一种用Go编写的高度可定制的表达式语言。
- ngaro - star:19 嵌入式 Ngaro VM实现,支持在 Retro 中运行脚本。
- otto - star:4664 用 Go 编写的 JavaScript 解释器。
- purl - star:27 嵌入 Go 的 Perl 5.18.2。
- tengo - star:1273 字节码编译的脚本语言。
错误处理
处理错误的库。
- errlog - star:143 用于定位抛出错误的源代码(以及一些其他快速调试特性)。可插入到任何 logger 的位置。
- errors - star:4760 可让你很简单的进行错误处理。
- errorx - star:548 一个功能丰富的错误包,可进行堆栈跟踪、组装异常信息以及其他。
- go-multierror - star:708 可将一系列的错误作为一个整体来显示。
- tracerr - star:486 可展示错误的堆栈跟踪信息和源码片段。
- werr - star:10 对错误异常进行了捕获封装,封装信息包含了调用它的文件、行和堆栈。
文件
处理文件和文件系统的库。
- afero - star:2183 文件系统的抽象系统。
- checksum - star:6 生成大型文件的消息摘要(如 MD5 和 SHA256)。
- flop - star:8 文件操作库,是[GNU cp](https://www.gnu.org/software/coreutils/manual/html_node/cp- invoc.html)的镜像。
- go-csv-tag - star:44 使用 tag 加载 csv 文件。
- go-decent-copy - star:11 拷贝文件。
- go-exiftool - star:1 ExifTool 的 Go 实现,这个著名的库用于从文件(图片、PDF、office,…)中提取尽可能多的元数据(EXIF、IPTC,…)。
- go-gtfs - star:15 加载gtfs文件。
- notify - star:488 文件系统事件通知库,具有类似于os/signal的简单API,。
- opc - star:57 加载Open Packaging Conventions (OPC)文件。
- pdfcpu - star:928 PDF处理器。
- skywalker - star:47 可以轻松地并发地遍历文件系统。
- stl - 采用并行读取算法的进行读取和写入STL(立体光刻)文件的模块。
- tarfs - star:35 tar文件的实现 FileSystem 接口。
- vfs - star:19 一组可插拔的、可扩展的和自定义的文件系统功能,用于跨越许多文件系统类型,如os、S3和GCS。
金融
会计和财务软件包。
- accounting - star:479 货币和货币格式。
- currency - star:8 高性能、准确的货币计算软件包。
- decimal - star:1558 任意精度定点的十进制数。
- go-finance - star:537 综合金融市场数据。
- go-finance - star:40 用于货币时间价值(年金)、现金流、利率转换、债券和折旧计算的金融函数库。
- go-money - star:608 Fowler 货币模式的实现。
- ofxgo - star:59 查询 OFX 服务器和/或解析响应。
- orderbook - star:66 限购单匹配引擎。
- techan - star:149 拥有先进的市场分析和交易策略的技术分析库。
- transaction - star:54 嵌入式事务数据库,可多线程模式运行。
- vat - star:61 增值税编号验证 & 欧盟增值税税率。
表单
用于处理表单的库。
- bind - star:23 将表单数据与任意 Go 变量进行绑定。
- binding - star:753 将来自 net/HTTP 请求的表单、JSON 数据绑定到结构体。
- conform - star:171 控制用户输入。基于struct tags可对数据进行修剪、清理和擦除。
- form - star:347 将 url 中的数据解析到 Go 变量中,以及将 Go 语言变量编码进 url。支持 Dual Array 及 Full map。
- formam - star:123 将表单的值解码为 struct。
- forms - star:103 与框架无关的库,用于解析和验证支持多部分表单和文件的表单/JSON数据。
- gorilla/csrf - star:424 用于Go web应用程序和服务的CSRF保护。
- nosurf - star:960 CSRF保护中间件。
方法
在Go中支持函数式编程的包。
- fpGo - star:102 提供函数式编程功能。
- fuego - star:33 Functional Experiment in Go。
- go-underscore - star:1062 常用辅助方法集合。
游戏开发
很棒的游戏开发库。
- Azul3D - star:424 用Go编写的 3D 游戏引擎。
- Ebiten - star:1792 很简单的 2D 游戏库。
- engo - star:1074 开源 2D 游戏引擎。它遵循 Entity-Component-System 范式。
- g3n - star:731 3D游戏引擎。
- GarageEngine - star:308 用 OpenGL 编写的 2D 游戏引擎。
- glop - star:77 Glop (Game Library Of Power) 是一个相当简单的跨平台游戏库。
- go-astar - star:325 实现了A*路径查找算法。
- go-collada - star:12 处理Collada文件。
- go-sdl2 - star:1137 实现了Simple DirectMedia Layer。
- go3d - star:162 以性能为主的2D/3D数学相关包。
- gonet - star:1046 实现了游戏服务器骨架。
- goworld - star:1139 可伸缩的游戏服务器引擎,具有 space-entity 框架和 hot-swapping 功能。
- Leaf - star:3012 轻量级游戏服务器框架。
- nano - star:967 轻量级、方便、高性能的基于golang的游戏服务器框架。
- Oak - star:622 纯 Go 实现的游戏引擎。
- Pitaya - star:289 可伸缩的游戏服务器框架,支持集群和客户端库的iOS, Android, Unity。
- Pixel - star:2381 手工制作的 2D 游戏库。
- raylib-go - star:378 实现了 raylib,一个简单易用的库,用于学习视频游戏编程。
- termloop - star:1020 基于终端的 Go 游戏引擎,建立在 Termbox 之上。
代码生成与泛型
增强语言的工具,例如通过代码生成支持泛型。
- efaceconv - star:43 代码生成工具,可以不通过内存分配就可以高效的将interface{}转换为不可变类型,。
- gen - star:1024 用于生成泛型等类似方法的功能代码生成工具。
- generis - star:18 提供泛型、free-form 宏、条件编译和HTML模板的代码生成工具。
- go-enum - star:80 从代码注释中生成枚举。
- go-linq - star:1769 提供类似 .NET LINQ 的查询方法。
- goderive - star:724 从输入类型来派生函数。
- gotype - star:19 Golang 源码解析,用法类似reflect(反射)。
- GoWrap - star:259 使用简单模板为 Go 接口生成装饰器。
- interfaces - star:184 用于生成接口定义的命令行工具。
- jennifer - star:1252 不使用模板生成任意 Go 代码。
- pkgreflect - star:83 用于包作用域反射的 Go 预处理器。
地理
地理工具和服务器
- geocache - star:107 基于内存缓存的的地理位置的应用程序。
- geoserver - star:25 基于geoserver REST API的 geoserver 实例。
- gismanager - star:19 将你的 GIS 数据(矢量数据)发布到 PostGIS 和 Geoserver。
- osm - star:61 用于读取、写入和处理 OpenStreetMap 数据和 APIs。
- pbf - star:15 基于Golang 的 OpenStreetMap PBF 编码器/解码器。
- S2 geometry - star:877 S2 geometry 库。
- Tile38 - star:6275 具有空间索引和实时地理定位功能的地理定位数据库。
Go 编译器
可将 Go 转换为其他语言的编译工具。
- c4go - star:143 将 C 代码转换为 Go 代码。
- f4go - star:11 将 FORTRAN 77 转换为 Go代码。
- gopherjs - star:8458 将 Go 编译成 JavaScript。
- llgo - star:989 基于 llvm 的编译器。
- tardisgo - star:392 Golang 转换为 Haxe,再转换为 CPP/CSharp/Java/JavaScript 的编译器.
Goroutines
管理和处理 Goroutines 的工具。
- ants - star:1777 一个高性能的协程池。
- artifex - star:12 简单的内存作业队列。
- async - star:18 一种异步执行函数的安全方法,在出现 panic 时恢复它们。
- breaker - star:24 灵活的机制,可以使执行流可中断。
- cyclicbarrier - star:27 基于 Go 的 CyclicBarrier 实现。
- go-floc - star:168 轻松编排 goroutines。
- go-flow - star:103 控制 goroutines 的执行顺序。
- go-tools/multithreading - star:5 轻量级的协程池库,可以通过简单的API来管理。
- go-trylock - star:4 支持 read-write 锁。
- gollback - star:25 异步简单的函数实用程序,用于管理闭包和回调的执行。
- GoSlaves - star:74 简单异步的协程池。
- goworker - star:2226 基于 go 的后台 worker。
- gpool - star:58 manages a resizeable pool of context-aware goroutines to bound concurrency
- grpool - star:491 轻量级协程池。
- Hunch - star:8 Hunch 提供了诸如 All、First、Retry、Waterfall 等功能,这使得异步流控制更加直观。
- oversight - 完整的实现了Erlang supervision trees。
- parallel-fn - star:24 并行运行函数。
- pool - star:473 有限消费者协程或无限协程池,可用于更加简单的处理和取消协程
- queue - star:1 提供类似队列组可访问性 sync.WaitGroup 的功能。帮助你节流和限制协程、等待所有协程结束以及更多功能。
- routine - star:2 go routine control with context, support: Main, Go, Pool and some useful Executors.
- semaphore - star:74 信号量模式实现,可根据通道和上下文进行具备超时功能的锁定/解锁操作。
- semaphore - star:70 基于 CAS 的可快速调整的信号量实现(比基于通道的信号量实现更快)。
- stl - star:7 基于软件事务内存(STM)并发控制机制的软件事务锁。
- threadpool - star:17 Golang 的 threadpool 实现。
- tunny - star:1309 golang 的协程池。
- worker-pool - star:43 一个简单的 Go 异步工作池。
- workerpool - star:125 限制任务执行并发数,而不是队列中的任务数量的协程池,。
GUI
用于构建GUI应用程序的库。
工具包
- app - star:2926 用于创建包含了 GO, HTML 和 CSS 的应用程序。支持 MacOS, Windows 正在开发中。
- fyne - star:6076 为 Go 而设计的跨平台的本地GUIs,使用EFL呈现。支持 : Linux, macOS, Windows。
- go-astilectron - star:2609 使用 GO 和 HTML/JS/CSS (电子驱动)进行构建跨平台 GUI 应用程序。
- go-gtk - 实现了 GTK 的 Go接口。
- go-sciter - star:1426 实现了 Sciter 的 Go 接口 : 用于现代桌面 UI 开发的可嵌入HTML/CSS/脚本引擎。可跨平台。
- gotk3 - star:746 实现了 GTK3 的 Go接口。
- gowd - star:206 跨平台、快速、简单的桌面UI开发,采用了GO, HTML, CSS和NW.js实现。
- qt - star:5874 实现了 Qt 的 Go接口(支持Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。
- ui - star:6841 跨平台的 Platform-native GUI 库。
- Wails - Mac, Windows, Linux桌面应用程序,主要基于含有内置的OS HTML渲染器的HTML UI。
- walk - star:3646 Windows应用程序库。
- webview - star:4542 跨平台webview窗口,具有简单的双向JavaScript绑定(Windows / macOS / Linux)。
交互
- go-appindicator - star:1 实现了 libappindicator3 C库 的 Go接口。
- gosx-notifier - star:493 OSX 桌面通知库。
- mac-activity-tracker - star:1 用于通知计算机上的任何(可插入的)活动的 OSX 库。
- mac-sleep-notifier - OSX 睡眠/唤醒通知。
- robotgo - star:4372 实现跨平台的GUI系统自动化。包含了控制鼠标、键盘等功能。
- systray - star:763 跨平台 Go 库,可在通知区放置图标和菜单。
- trayhost - star:158 跨平台 Go 库,可用于在主机操作系统的任务栏中放置图标。
硬件
硬件交互相关的库、工具和教程。
See go-hardware for a comprehensive list.
图片
图像处理相关的库。
- bild - star:2022 纯Go语言实现的图像处理算法合集。
- bimg - star:776 使用libvips实现的快速高效的图像处理包。
- cameron - star:31 一个Go语言的头像生成器。
- darkroom - star:19 一个图像代理与可变的存储后端和图像处理引擎的重点速度和弹性。
- geopattern - star:1007 由字符串创建漂亮图案的图片生成器。
- gg - star:1886 纯Go语言实现的2D渲染。
- gift - star:1206 图像处理包。
- gltf - star:34 一个高效、健壮的glTF 2.0文件读取、写入和验证器。
- go-cairo - star:85 cairo图形库的Go binding。
- go-gd - star:49 GD库的Go binding。
- go-nude - star:285 Go语言实现的裸照检测工具。
- go-opencv - star:1083 OpenCV库的Go bindings。
- go-webcolors - star:24 Python下webcolors库的Go语言调用。
- gocv - star:2381 使用OpenCV 3.3+实现的计算机视觉(ComputerVision)的Go语言包。
- goimagehash - star:208 图像哈希处理的Go语言包。
- goimghdr - star:26 Go语言实现的imghdr模块用于确定文件的图像类型。
- govatar - star:310 生成有趣头像的库和CMD工具。
- image2ascii - star:284 将图像转换为ASCII码。
- imagick - star:953 ImageMagick下MagickWand的C API的Go binding。
- imaginary - star:2552 用于图像大小调整的快速、简单的HTTP微服务。
- imaging - star:2480 简单的Go图像处理包。
- img - star:128 图像处理工具的集合。
- ln - star:2455 Go实现的3D线艺术(3D Line Art)渲染。
- mergi - star:70 用于图像处理(合并、裁剪、调整大小、水印、动画)的工具和Go库。
- mort - star:364 Go语言实现的图像存储和处理服务器。
- mpo - star:6 MPO三维照片的解码和转换工具。
- picfit - star:1050 Go实现的图像调整服务器。
- pt - star:1762 Go实现的路径跟踪(path tracing)引擎。
- resize - star:2112 Go实现的使用常用的插值法(interpolation methods)调整图像大小的库。
- rez - star:188 纯Go语言和SIMD实现的图像大小调整。
- smartcrop - star:1245 为任意图片寻找合适的位置进行图片裁剪。
- steganography - star:25 纯Go实现的LSB隐写(LSB steganography)的库。
- stegify - star:483 Go实现的LSB隐写(LSB steganography),能够隐藏任何文件到一个图像中。
- svgo - star:1313 Go实现的SVG生成库。
- tga - star:23 tga包是一个TARGA图像的解码、编码器。
物联网
物联网设备编程库。
- connectordb - star:167 自我量化和物联网的开源平台。
- devices - star:224 一套用于物联网设备的库,实验性地用于x/exp/io。
- eywa - star:36 Eywa是一个用于跟踪连接的设备连接管理器。
- flogo - star:1097 Flogo是一个面向物联网边缘应用和集成的开源框架。
- gatt - star:808 Gatt是一个用于构建低能耗蓝牙外围设备的Go语言包。
- gobot - Gobot是一个用于机器人、物理计算和物联网的框架。
- huego - star:108 一个包含广泛的Philips Hue客户端的Go语言库。
- iot - IoT是一个实现谷歌物联网核心设备的简单框架。
- mainflux - star:566 工业物联网消息和设备管理服务器。
- periph - 外围设备I/O与低级板(low-level board)设备接口。
- sensorbee - star:176 轻量级物联网流处理引擎。
作业调度器
用于作业调度的库。
- clockwerk - 使用简单、流畅的语法调度作业的Go语言库。
- clockwork - star:74 Go实现的简单直观的作业调度库。
- go-cron - star:177 一个Go实现的简单的定时任务库。可以在不同的时间间隔(每秒一次到在每年在特定的日期执行)执行闭包或函数。主要用于web应用和长时间运行的守护进程。
- gron - star:625 使用简单的Go API定义基于时间的任务。 之后Gron的调度程序将运行它们。
- JobRunner - star:561 智能和功能丰富的cron作业调度程序(包含任务队列和实时监控)。
- jobs - star:449 持久和灵活的后台作业库。
- leprechaun - star:37 支持webhook、crons和经典调度的作业调度程序。
- scheduler - star:291 Cronjobs让调度变得很简单。
JSON
用于JSON处理的库。
- ajson - star:11 为Go语言开发的包含JSONPath支持的抽象JSON。
- gjo - star:57 用于创建JSON对象的小工具。
- GJSON - star:4769 使用一行代码获取JSON的值。
- go-respond - star:21 用于处理常见的HTTP JSON响应的Go语言库。
- gojq - star:139 Go语言实现的JSON请求。
- gojson - star:2020 从JSON自动生成Go的结构(struct)定义。
- JayDiff - star:37 用Go编写的JSON比对工具。
- JSON-to-Go - 将JSON转换为Go的结构(struct)。
- jsonapi-errors - star:5 基于JSON API错误引用的Go bindings。
- jsonf - star:54 用于高亮展示和查询JSON的控制台工具。
- jsongo - star:92 使用Fluent API来更容易地创建Json对象。
- jsonhal - star:9 让自定义结构(struct)转化为JSON兼容的HAL(Hypertext Application Language)返回数据的简单Go包。
- kazaam - star:126 用于任意JSON文档转换的API。
- mp - star:33 简单的cli电子邮件解析器。它目前接受stdin并输出JSON。
日志记录
用于生成和处理日志文件的库。
- distillog - star:18 distilled日志记录(可以将其视为stdlib +日志)。
- glg - star:51 glg是一个简单而快速的Go日志库。
- glo - star:7 参照PHP的Monolog实现的具有相同日志等级的Go日志库。
- glog - star:2277 为Go提供了多等级日志记录。
- go-cronowriter - star:19 基于当前日期和时间的自动日志文件写入工具,类似cronolog。
- go-log - star:10 Go实现的简单且可配置的日志工具,并带有多等级、日志格式化和日志写入工具。
- go-log - star:24 支持多等级和多处理程序的日志库。
- go-log - star:34 Log4j的Go语言。
- go-logger - star:230 简单的日志程序的 Go 程序,与级别处理程序。
- gologger - star:40 为Go提供方便简单的日志操作; 在彩色控制台,简单控制台,文件或Elasticsearch上。
- gomol - star:16 为Go实现可多方式输出、结构化日志, 并可扩展日志输出方式。
- gone/log - 快速、可扩展、功能齐全、std-lib源兼容的日志库。
- journald - star:18 Go实现systemd Journal的原生API用于日志记录。
- log - star:4 一个O(1)日志系统,允许您将一个日志连接到多个日志写入(例如stdout、文件和TCP连接)。
- log - star:724 Go的结构化日志包。
- log - star:266 Go的简单、可配置和可伸缩的结构化日志。
- log - star:22 Go的结构化日志接口,清晰地将日志facade与其实现(implementation)分离开来。
- log-voyage - star:82 用Go编写的功能齐全的日志写入saas。
- log15 - star:877 简单、强大的日志操作。
- logdump - star:8 用于多等级级日志记录的包。
- logex - star:32 由标准日志库封装的Go日志库,支持跟踪和多等级。
- logger - star:135 Go的精简日志库。
- logmatic - star:7 Go的彩色日志记录器,带有可配置的日志级别。
- logo - star:4 Go的日志工具,可配置的日志写入器。
- logrus - star:11600 Go的结构化日志操作 。
- logrusly - star:26 logrus的插件,将错误信息发送到Loggly。
- logutils - star:246 Go的用于更好地进行日志操作的实用程序,继承了标准日志库。
- logxi - star:334 12-factor app的日志程序,快速且让人高兴地使用。
- lumberjack - star:1391 简单的滚动日志,io.WriteCloser的实现。
- mlog - star:17 简单的go日志模块,有5个级别,可选循环(rotation)日志文件记录功能和stdout/stderr输出。
- onelog - star:327 Onelog是一个非常简单但非常高效的JSON日志程序。它是所有场景中速度最快的JSON日志程序。而且,它是配置要求最低的日志记录器之一。
- ozzo-log - star:108 支持日志多等级、分类和过滤的高性能日志记录。可以发送过滤后的日志消息到各种目标(如控制台,网络,邮件)。
- rollingwriter - star:94 RollingWriter是一个自动循环的io.Writer的实现,带有多种策略以提供日志文件循环(rotation)。
- seelog - star:1339 具有灵活调度、过滤和格式化的日志功能。
- spew - star:3245 为Go数据结构实现一个漂亮的printer用于帮助调试。
- stdlog - star:43 Stdlog是一个面向对象的库,提供了多等级日志记录。它对cron任务非常有用。
- tail - star:1510 努力模拟实现BSD的tail的特性的Go包。
- xlog - star:7 插件架构和灵活的日志系统,带有多级别、多日志目标和自定义日志格式。
- xlog - star:129 针对'net/context`实现的结构化的记录器,用于HTTP处理程序。
- zap - star:7241 快速、结构化、多等级的日志记录。
- zerolog - star:2105 Zero-allocation JSON日志记录。
机器学习
机器学习库。
- bayesian - star:626 Go的朴素贝叶斯分类。
- CloudForest - star:644 快速、灵活、多线程集成的决策树,用于机器学习。
- eaopt - star:616 一个进化优化(evolutionary optimization)库。
- evoli - star:8 遗传算法(Genetic Algorithm)和粒子群优化(Particle Swarm Optimization)库。
- fonet - star:31 一个用Go编写的深度神经网络库。
- go-cluster - star:21 Go实现的k-modes和k-prototypes聚类算法。
- go-deep - star:214 一个功能丰富的神经网络库 。
- go-fann - star:99 快速人工神经网络(FANN)库的Go bindings。
- go-galib - star:171 用Go编写的遗传算法库。
- go-pr - star:57 Go编写的模式识别包。
- gobrain - star:372 用 Go 编写的神经网络库。
- godist - star:24 各种概率分布,以及相关的method。
- goga - star:79 Go的遗传算法库。
- GoLearn - star:6611 通用机器学习库。
- golinear - star:39 Go实现的liblinear bindings。
- GoMind - star:6 一个简单的神经网络库。
- goml - star:1006 在线机器学习。
- goRecommend - star:141 用Go编写的推荐算法库。
- gorgonia - star:2651 基于图形(graph-based)的计算库,如Theano:它为构建各种机器学习和神经网络算法提供了基本框架。
- gorse - star:513 基于协同过滤(Collaborative Filtering )的高性能推荐系统包。
- goscore - star:34 为预言模型标记语言(PMML)实现的评分API。
- gosseract - star:850 使用c++的Tesseract库实现的OCR。
- libsvm - star:63 基于LIBSVM 3.14实现。
- mlgo - star:5 这个项目的用于在Go中提供最精简的机器学习算法。
- neat - star:55 即插即用的并行Go框架,用于增强拓扑的神经进化(NeuroEvolution of Augmenting Topologies)。
- neural-go - star:61 多层感知器网络在Go中的实现,使用反向传播算法进行训练。
- ocrserver - star:219 一个简单的OCR API服务器,非常容易地使用Docker和Heroku部署。
- onnx-go - star:145 Go Interface, 用于开放式神经网络交换(Open Neural Network Exchange)。
- probab - star:10 概率分布函数。贝叶斯推理。使用Go写的。
- regommend - star:244 推荐和协同过滤引擎。
- shield - star:124 贝叶斯文本分类器,具有灵活的tokenizers和存储后端。
- tfgo - star:1167 易于使用的Tensorflow bindings:简化了官方Tensorflow Go bindings的使用。在Go中定义计算图形,在Python中加载和执行训练的模型。
- Varis - star:24 Go实现的神经网络。
消息
实现消息传递系统的库。
- APNs2 - star:2030 HTTP / 2苹果推送通知供应商——发送推送通知到iOS, tvo, Safari和OSX的应用。
- Beaver - star:715 一个实时消息服务器,可构建一个可伸缩的应用程序内通知,多人游戏,聊天应用程序在web和移动应用程序。
- Benthos - star:1921 一系列协议之间的消息流桥。
- Bus - star:112 内部通信的最小消息总线实现。
- Centrifugo - star:3620 实时消息(Websockets或SockJS)服务器。
- Commander - star:21 高级事件驱动的消费者/生产者,支持各种“方言”,如Apache Kafka。
- dbus - star:351 D-Bus的本地Go绑定。
- drone-line - star:59 使用二进制、docker或从属CI发送Line通知。
- emitter - star:308 使用通配符、谓词、取消可能性和许多其他优点,使用Go way发出事件。
- event - star:27 模式观察者的实现。
- EventBus - star:544 具有异步兼容性的轻量级事件总线。
- gaurun-client - star:8 用Go编写的Gaurun客户端。
- Glue - star:314 健壮的Go和Javascript套接字库(替代Socket.io)。
- go-notify - star:47 本地实现的freedesktop通知规范。
- go-nsq - star:1438 NSQ的官方Go包。
- go-socket.io - star:2841 套接字。面向golang的io库,一个实时应用程序框架。
- go-vitotrol - star:11 客户端库到Viessmann Vitotrol web服务。
- Gollum - star:762 n:m多路复用器,它收集来自不同来源的消息并将其广播到一组目的地。
- golongpoll - star:421 HTTP longpoll服务器库,使web发布-订阅变得简单。
- goose - star:37 服务器在Go中发送事件。
- gopush-cluster - star:1822 gopush-cluster是一个gopush服务器集群。
- gorush - star:3649 使用APNs2和谷歌GCM推送通知服务器。
- guble - star:138 消息服务器使用推送通知(谷歌Firebase云消息、苹果推送通知服务、SMS)以及websockets,一个REST API,具有分布式操作和消息持久性。
- hub - star:24 用于Go应用程序的消息/事件中心,使用发布/订阅模式,并支持别名(如rabbitMQ交换)。
- jazz - star:6 一个简单的RabbitMQ抽象层,用于队列管理和消息的发布和消费。
- machinery - star:3319 基于分布式消息传递的异步任务队列/作业队列。
- mangos - star:1533 具有传输互操作性的Nanomsg(“可伸缩协议”)的纯go实现。
- melody - star:1523 处理websocket会话的极简框架,包括广播和自动乒乓球处理。
- Mercure - star:1445 使用Mercure协议(构建在服务器发送事件之上)分派服务器发送的更新的服务器和库。
- messagebus - star:62 messagebus是一种Go简单异步消息总线,非常适合在执行事件源、CQRS和DDD时用作事件总线。
- NATS Go Client - star:2348 轻量级和高性能的发布-订阅和分布式队列消息传递系统——这是Go库。
- nsq-event-bus - star:49 一个围绕NSQ主题和通道的小包装。
- oplog - star:94 用于REST api的通用oplog/复制系统。
- pubsub - star:272 简单的pubsubpackage for go。
- rabbus - star:61 amqp交换器和队列上的一个小包装。
- rabtap - star:71 RabbitMQ瑞士军刀cli应用。
- RapidMQ - star:55 RapidMQ是用于管理本地消息队列的轻量级可靠库。
- rmqconn - RabbitMQ重新连接。amqp包装器。连接和amqp.Dial。在强制关闭对Close()方法的调用之前,允许在连接断开时重新连接。
- sarama - star:4506 Go Apache Kafka的库。
- Uniqush-Push - star:1093 Redis支持面向移动设备的服务器端通知的统一推送服务。
- zmq4 - star:770 转接口到ZeroMQ版本4。也可用于版本3和版本2。
微软办公软件
- unioffice - star:1634 用于创建和处理Office Word (.docx)、Excel (.xlsx)和Powerpoint (.pptx)文档的纯go库。
Microsoft Excel
用于使用Microsoft Excel的库。
- excelize - star:4333 Golang库读写Microsoft Excel™(XLSX)文件。
- go-excel - star:46 一个简单而轻便的阅读器,可以将类似于关系数据库的excel作为表来读取。
- goxlsxwriter - star:12 用于编写XLSX (Microsoft Excel)文件的libxlsxwriter的Golang绑定。
- xlsx - star:3294 库,以简化在Go程序中读取Microsoft Excel最新版本使用的XML格式。
- xlsx - star:58 快速和安全的方式读取/更新您现有的Microsoft Excel文件在 Go 程序。
杂项
依赖注入
用于处理依赖项注入的库。
- alice - star:34 Golang的添加依赖注入容器。
- dig - star:872 一个基于反射的Go依赖注入工具包。
- fx - star:644 基于依赖注入的Go应用程序框架(构建在dig之上)。
- gocontainer - star:6 简单的依赖注入容器。
- inject - star:18 一个基于反射的依赖注入容器,具有简单的接口。
- linker - star:3 基于反射的依赖注入和控制库的反转,支持组件生命周期。
- wire - star:20 Golang严格的运行时依赖注入。
项目布局
用于组织项目的非正式模式集。
- go-sample - star:19 使用实际代码的Go应用程序项目的示例布局。
- golang-standards/project-layout - star:8586 Go生态系统中常见的历史和新兴的项目布局模式。
- scaffold - star:21 脚手架生成starter Go项目布局。让您专注于已实现的业务逻辑。
字符串
处理字符串的库。
这些库之所以放在这里,是因为其他类别似乎都不适合。
- anagent - star:11 最小化,可插入的Golang evloop/计时器处理程序与依赖注入。
- antch - star:137 一个快速、强大和可扩展的web爬行和抓取框架。
- archiver - star:2454 用于生成和提取.zip和.tar.gz存档的库和命令。
- autoflags - star:24 Go package从struct字段自动定义命令行标志。
- avgRating - star:9 根据Wilson评分方程计算平均分和评分。
- banner - star:230 在Go应用程序中添加漂亮的横幅。
- base64Captcha - star:612 Base64captch支持数字,数字,字母,算术,音频和数字-字母验证码。
- battery - star:134 跨平台、标准化的电池信息库。
- bitio - star:92 高度优化的位级读写器。
- browscap_go - star:29 用于[浏览器功能项目]的GoLang库(http://browscap.org/)。
- captcha - star:42 软件包captcha为captcha的生成提供了一个易于使用的、未绑定的API。
- conv - star:341 包conv提供了跨Go类型的快速和直观的转换。
- datacounter - star:27 读取器/写入器/http.ResponseWriter的计数器。
- ffmt - star:126 美化数据显示为人类。
- ghorg - star:22 将所有repos从GitHub org复制到一个目录中。
- go-commons-pool - star:657 Golang的通用对象池。
- go-openapi - 用于解析和利用开放api模式的包的集合。
- go-resiliency - star:835 Go 的弹性模式。
- go-unarr - star:66 用于RAR、TAR、ZIP和7z存档的解压缩库。
- gofakeit - star:405 用go编写的随机数据生成器。
- gommit - star:65 分析git提交消息,确保它们遵循已定义的模式。
- gopsutil - star:3839 用于检索进程和系统利用率(CPU、内存、磁盘等)的跨平台库。
- gosh - star:16 提供Go统计处理程序,结构,测量方法。
- gosms - star:1222 您自己的本地短信网关在Go,可以用来发送短信。
- gotoprom - star:15 为Prometheus客户端提供类型安全的度量构建器包装库。
- gountries - star:205 公开国家和细分数据的包。
- health - star:359 易于使用,可扩展的健康检查库。
- healthcheck - star:78 用于RESTful服务的自以为是的并发健康检查HTTP处理程序。
- hostutils - star:7 一个用于打包和解包FQDNs列表的golang库。
- indigo - star:51 分布式唯一ID生成器使用Sonyflake,并由Base58编码。
- lk - star:112 一个简单的golang授权库。
- llvm - star:406 用于在纯Go中与LLVM IR交互的库。
- metrics - star:4 用于度量仪器和普罗米修斯博览会的库。
- morse - star:48 转换成莫尔斯电码和从莫尔斯电码转换成莫尔斯电码的程序库。
- numa - star:2 NUMA是一个用go编写的实用程序库。它帮助我们编写一些NUMA-AWARED代码。
- pdfgen - star:32 HTTP服务从Json请求生成PDF。
- persian - star:33 一些实用的波斯语在 Go 。
- sandid - star:12 地球上的每一粒沙子都有自己的身份。
- shellwords - star:7 一个Golang库,根据UNIX Bourne shell的单词解析规则操纵字符串。
- shortid - star:447 分布式生成超短、唯一、非顺序、URL友好的id。
- stats - star:120 显示器 Go MemStats +系统统计,如内存,交换和CPU,并通过UDP发送到任何地方,你想记录等…
- turtle - star:73 Emojis Go 。
- url-shortener - star:17 一个现代的、强大的、健壮的URL缩短器微服务,支持mysql。
- VarHandler - 生成样板http输入和输出处理。
- xdg - star:19 FreeDesktop.org (xdg)规范在Go中实现。
- xkg - star:39 X键盘打捞工具。
自然语言处理
用于处理人类语言的库。
- getlang - star:71 快速自然语言检测包。
- go-eco - star:4 相似、不相似和距离矩阵;多样性、公平性和不平等度量;物种丰富度估计;coenocline模型。
- go-i18n - 软件包和用于处理本地化文本的附带工具。
- go-mystem - star:23 CGo绑定到Yandex。Mystem -俄罗斯形态学分析仪。
- go-nlp - star:79 用于处理离散概率分布的实用程序和用于进行NLP工作的其他工具。
- go-pinyin - star:515 中文汉字到汉语拼音的转换。
- go-stem - star:51 波特词干算法的实现。
- go-unidecode - star:54 Unicode文本的ASCII音译。
- go2vec - star:30 用于word2vec嵌入式的阅读器和实用程序函数。
- gojieba - star:796 这是一个Go实现的jieba,这是一个中文分词算法。
- golibstemmer - star:15 Go 绑定斯诺鲍libstemmer库,包括波特2。
- gotokenizer - star:6 一种基于字典和双字母格朗语言模型的记号赋予器。(现在只支持中文分割)
- gounidecode - star:67 用于Go的Unicode音译器(也称为unidecode)。
- gse - star:1051 高效的文本分割;支持英语、汉语、日语等。
- icu - star:19 Cgo绑定用于icu4c C库的检测和转换功能。保证与版本50.1兼容。
- kagome - star:411 JP形态学分析仪编写的纯Go。
- libtextcat - star:10 用于libtextcat C库的Cgo绑定。保证与版本2.2兼容。
- MMSEGO - star:59 这是一个 Go 实现的MMSEG,这是一个中文分词算法。
- nlp - star:354 从字符串中提取值并用nlp填充结构。
- nlp - star:212 支持LSA(潜在语义分析)的Go自然语言处理库。
- paicehusk - star:25 Golang实现了Paice/外壳阻塞算法。
- petrovich - star:22 彼得罗维奇是一个图书馆,它把俄语名字的词形变化成特定的语法格。
- porter - star:8 这是Martin Porter在C语言中实现的Porter词干分析算法的一个相当简单的移植。
- porter2 - star:33 非常快的波特2史坦默。
- prose - star:2029 用于支持标记化、词性标记、名称实体提取等文本处理的库。
- RAKE.go - star:42 快速自动关键字提取算法(RAKE)的Go端口。
- segment - star:47 如[Unicode标准附件#29]所述,执行Unicode文本分割的Go库(http://www.unicode.org/reports/tr29/)
- sentences - star:260 句子标记器:将文本转换为句子列表。
- shamoji - star:10 shamoji是用Go编写的word过滤包。
- snowball - star:24 滚雪球柄端口(cgo包装)为 Go 。提供词干提取功能Snowball native。
- stemmer - star:47 用于Go编程语言的Stemmer包。包括英语和德语词根。
- textcat - star:60 Go package支持基于n-gram的文本分类,支持utf-8和原始文本。
- whatlanggo - star:344 Go的自然语言检测包。支持84种语言和24种脚本(书写系统,如拉丁语、西里尔语等)。
- when - star:924 带有可插入规则的自然EN和RU语言日期/时间解析器。
网络
用于处理网络各层的库。
- arp - star:190 包arp实现了arp协议,如RFC 826中所述。
- buffstreams - star:232 通过TCP传输协议缓冲区数据变得很容易。
- canopus - star:133 CoAP客户机/服务器实现(RFC 7252)。
- cidranger - star:380 快速IP到CIDR查找 Go 。
- dhcp6 - star:61 包dhcp6实现了一个DHCPv6服务器,如RFC 3315所述。
- dns - star:3735 使用DNS的库。
- ether - star:62 用于发送和接收以太网帧的跨平台Go包。
- ethernet - star:181 包以太网实现了对IEEE 802.3以太网II帧和IEEE 802.1Q VLAN标签的编组和解组。
- fasthttp - star:9078 软件包fasthttp是Go的一个快速HTTP实现,比net/http快10倍。
- fortio - star:844 负载测试库和命令行工具,先进的echo服务器和web UI。允许指定一组每秒查询的负载,并记录延迟直方图和其他有用的统计数据,并将它们作图。Tcp、Http、gRPC。
- ftp - star:508 包ftp实现了RFC 959中描述的ftp客户机。
- gmqtt - star:66 Gmqtt是一个灵活、高性能的MQTT代理库,它完全实现了MQTT协议V3.1.1。
- gNxI - star:99 一组使用gNMI和gNOI协议的网络管理工具。
- go-getter - star:702 Go 图书馆下载文件或目录从各种来源使用一个URL。
- go-stun - star:329 Go实现了STUN客户机(RFC 3489和RFC 5389)。
- gobgp - star:1654 用 Go 编程语言实现的BGP。
- golibwireshark - star:14 golibwireshark包使用libwireshark库解码pcap文件并分析解剖数据。
- gopacket - star:2798 使用libpcap绑定访问包处理库。
- gopcap - star:349 Go 包装libpcap。
- goshark - star:9 goshark包使用tshark来解码IP包,并创建数据结构来分析包。
- gosnmp - star:428 用于执行SNMP操作的本机Go库。
- gotcp - star:406 Go 包快速编写tcp应用程序。
- grab - star:543 Go 软件包管理文件下载。
- graval - star:24 实验FTP服务器框架。
- HTTPLab - star:3389 HTTPLabs允许您检查HTTP请求并伪造响应。
- iplib - star:23 用于处理IP地址的库(net)。受python ipaddress和ruby ipaddr的启发
- jazigo - star:121 Jazigo是一个用Go编写的工具,用于检索多个网络设备的配置。
- kcp-go - star:2211 快速可靠的ARQ协议。
- kcptun - star:10564 非常简单和快速udp隧道基于KCP协议。
- lhttp - star:508 强大的websocket框架,使您的IM服务器更容易构建。
- linkio - star:44 用于读写器接口的网络链路速度模拟。
- llb - star:8 这是一个非常简单但快速的代理服务器后端。可用于快速重定向到预定义域,具有零内存分配和快速响应。
- mdns - star:543 Golang中的简单mDNS(多播DNS)客户机/服务器库。
- mqttPaho - Paho Go客户机提供一个MQTT客户机库,用于通过TCP、TLS或WebSockets连接到MQTT代理。
- NFF-Go - star:647 快速开发云计算和裸机网络功能的框架(原YANFF)。
- packet - star:26 通过TCP和UDP发送数据包。如果需要,它可以缓冲消息和热交换连接。
- peerdiscovery - star:358 使用UDP组播进行跨平台本地对等点发现的纯Go库。
- portproxy - star:42 简单的TCP代理将CORS支持添加到不支持它的API中。
- publicip - star:18 包publicip返回面向公共的IPv4地址(internet出口)。
- quic-go - star:2828 在纯Go中实现了QUIC协议。
- raw - star:299 Package raw支持在设备驱动程序级别读取和写入网络接口的数据。
- sftp - star:715 包sftp实现了SSH文件传输协议,如https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt所述。
- ssh - star:1092 用于构建SSH服务器的高级API(封装密码/ SSH)。
- sslb - star:113 它是一个超级简单的负载平衡器,只是一个实现某种性能的小项目。
- stun - star:261 Go实现的RFC 5389 STUN协议。
- tcp_server - star:279 Go 图书馆建设tcp服务器更快。
- tspool - star:6 TCP库使用工作池来提高性能并保护服务器。
- utp - star:149 Go uTP微传输协议的实现。
- water - star:831 简单TUN / TAP图书馆。
- webrtc - star:2114 WebRTC API的纯Go实现。
- winrm - star:209 Go WinRM客户端远程执行Windows机器上的命令。
- xtcp - star:80 TCP服务器框架具有同时全双工通信,优雅关机,自定义协议。
HTTP客户端
用于发出HTTP请求的库。
- gentleman - star:672 功能齐全的插件驱动HTTP客户端库。
- goreq - star:98 基于gorequest的增强简化HTTP客户机。
- grequests - star:1394 一个 Go “克隆”的伟大和著名的请求库。
- heimdall - star:1056 具有重试和hystrix功能的增强http客户机。
- pester - star:321 使用重试、后退和并发执行HTTP客户机调用。
- rq - star:25 golang stdlib HTTP客户端更好的接口。
- sling - star:851 Sling是一个用于创建和发送API请求的Go HTTP客户端库。
OpenGL
用于在Go中使用OpenGL的库。
- gl - star:631 OpenGL的Go绑定(通过glow生成)。
- glfw - star:716 Go绑定用于glfw3。
- goxjs/gl - star:131 跨平台的OpenGL绑定(OS X, Linux, Windows,浏览器,iOS, Android)。
- goxjs/glfw - star:58 使用跨平台glfw库创建OpenGL上下文并接收事件。
- mathgl - star:285 纯Go数学软件包专门为三维数学,与灵感来自GLM。
ORM
实现对象关系映射或数据映射技术的库。
- beego orm - 强大的orm框架。支持:pq / mysql / sqlite3。
- go-firestorm - star:1 一个用于谷歌/Firebase云Firestore的简单ORM。
- go-pg - star:2899 关注PostgreSQL的特性和性能。
- go-queryset - star:446 100%类型安全ORM与代码生成和MySQL, PostgreSQL, Sqlite3, SQL Server支持基于GORM。
- go-sqlbuilder - star:224 一个灵活而强大的SQL字符串构建器库加上一个零配置ORM。
- go-store - star:93 简单而快速的Redis支持的键值存储库。
- GORM - star:14275 Golang出色的ORM库的目标是对开发人员友好。
- gorp - star:3063 Go的关系持久性,ORM-ish库。
- grimoire - star:113 Grimoire是golang的数据库访问层和验证。(支持:MySQL, PostgreSQL和SQLite3)。
- lore - star:4 用于Go的简单轻量级伪orm /伪结构映射环境。
- Marlow - star:62 从项目结构生成ORM,用于编译时安全保证。
- pop/soda - star:657 数据库迁移、创建、ORM等。用于MySQL、PostgreSQL和SQLite。
- QBS - star:539 表示结构查询。一个ORM。
- reform - star:790 更好的ORM for Go,基于非空接口和代码生成。
- SQLBoiler - star:2220 ORM生成器。根据您的数据库模式生成一个功能强大且运行速度快的ORM。
- upper.io/db - star:1822 通过使用封装成熟数据库驱动程序的适配器与不同数据源交互的单一接口。
- Xorm - star:5060 简单而强大的ORM for Go。
- Zoom - star:238 基于Redis的快速数据存储和查询引擎。
包管理
用于管理依赖和包的官方工具
- go modules - Modules 是源码的版本控制和交换的单位。go命令直接支持处理模块,包括记录和解决对其他模块的依赖关系。
包管理的官方实验工具
用于包和依赖项管理的非官方库。
- gigo - star:196 类似pip的golang依赖工具,支持私有存储库和散列。
- glide - star:7741 轻松管理您的 golang 第三方包。受Maven、Bundler和Pip等工具的启发。
- godep - star:5651 godep是go的依赖工具,它通过修复包的依赖关系来帮助构建可重复的包。
- gom - star:1351 Go Manager - bundle for Go。
- goop - star:778 Go 的简单依赖管理器,灵感来自Bundler。
- gop - star:50 在GOPATH之外构建和管理Go应用程序。
- gopm - star:2339 包管理器。
- govendor - star:4684 包管理器。使用 vendor 文件的 Go vendor 工具。
- gpm - star:1205 基本的 Go 依赖管理器。
- johnny-deps - star:213 使用Git的最小依赖版本。
- mvn-golang - star:87 插件,为自动加载Golang SDK,依赖关系管理和启动Maven项目基础设施中的构建环境提供了方法。
- nut - star:245 vendor 依赖。
- VenGO - star:116 创建和管理可导出的隔离go虚拟环境。
查询语言
- gojsonq - star:838 一个用来查询JSON数据的Go包。
- graphql - star:51 graphql解析器+工具集
- graphql - star:2726 关注易用性的GraphQL服务器。
- graphql-go - star:5083 为Go实现GraphQL。
- jsonql - star:202 Golang中的JSON查询表达式库。
- jsonslice - star:23 使用高级过滤器查询Jsonpath。
- rql - star:110 用于REST API的资源查询语言。
嵌入的资源
- esc - star:460 将文件嵌入到Go程序中并提供http文件系统接口。
- fileb0x - star:417 一个可定制的工具用来在Go中嵌入文件
- go-embed - star:14 生成go代码,将资源文件嵌入到库或可执行文件中。
- go-resources - star:155 嵌入到Go中的普通资源。
- go.rice - star:1621 go.rice 是一个Go包,它使处理html、js、css、图像和模板等资源变得非常容易。
- packr - star:2040 将静态文件嵌入到Go二进制文件中的简单方法。
- statics - star:53 将静态资源嵌入到go文件中,用于单个二进制编译+使用http。文件系统+符号链接。
- statik - star:2051 将静态文件嵌入到Go可执行文件中。
- templify - star:19 将外部模板文件嵌入到Go代码中,以创建单个文件二进制文件。
- vfsgen - star:643 生成一个vfsdata。静态实现给定虚拟文件系统的go文件。
科学与数据分析
用于科学计算和数据分析的库。
- assocentity - star:3 assocentity 返回单词到给定实体的平均距离。
- bradleyterry - 为成对比较提供了一个 Bradley-Terry 模型。
- chart - star:578 简单的图表绘制库。支持多种图形类型。
- dataframe-go - star:65 用于机器学习和统计的数据模型(类似于 pandas)。
- evaler - star:40 简单的浮点算术表达式求值器。
- ewma - star:265 提供指数加权移动平均算法。
- geom - star:40 Go 的二维几何。
- go-dsp - star:625 Go数字信号处理。
- go-fn - star:11 用Go语言编写的数学函数,不包括在math pkg中。
- go-gt - star:5 用“Go”语言编写的图论算法。
- gocomplex - star:5 用于 Go 编程语言的复数库。
- goent - star:13 Go 实现熵度量。
- gohistogram - star:126 数据流的近似直方图。
- gonum - star:2876 Gonum是一组用于Go编程语言的数字库。它包含用于矩阵、统计、优化等的库。
- gonum/plot - star:1192 gonum/plot提供了一个API,用于在Go中构建和绘制绘图。
- goraph - star:596 纯Go图论库(数据结构,算法可视化)。
- gosl - star:1292 提供线性代数,FFT,几何,NURBS,数值方法,概率,优化,微分方程,等等。
- GoStats - star:9 GoStats是一个开放源码的GoLang库,主要用于机器学习领域的数学统计,它涵盖了大多数统计度量函数。
- graph - star:227 基本图形算法库。
- ode - star:10 常微分方程(ODE)求解器,支持扩展状态和基于信道的迭代停止条件。
- orb - star:190 2D几何类型,支持剪切、GeoJSON和Mapbox矢量平铺。
- pagerank - star:48 加权 PageRank 算法在Go中的实现。
- piecewiselinear - star:6 微型线性插值库。
- PiHex - star:9 实现了针对16进制数 Pi 的“bailee - borwein - plouffe”算法。
- rootfinding - star:3 二次函数求根算法库。
- sparse - star:65 Go 稀疏矩阵格式的线性代数支持科学和机器学习应用程序,兼容gonum矩阵库。
- stats - star:1332 包含Golang标准库中缺少的公共函数的统计软件包。
- streamtools - star:1314 通用图形工具,用于处理数据流。
- TextRank - star:65 TextRank在Golang中的实现,支持扩展特性(摘要、加权、短语提取)和多线程(goroutine)。
- triangolatte - star:11 二维三角库。允许将线和多边形(都基于点)转换为gpu语言。
安全
用于帮助您的应用程序更安全的库。
- acmetool - star:1692 ACME(让我们用自动更新加密)客户端工具。
- acra - star:442 网络加密代理保护基于数据库的应用程序免受数据泄漏:强选择性加密,SQL注入预防,入侵检测系统。
- argon2pw - star:72 使用常量时间密码比较生成Argon2密码散列。
- autocert - 让我们加密证书并启动TLS服务器。
- BadActor - star:242 一个驻留在内存中的,应用驱动的监控程序,受 fail2ban 的启发
- Cameradar - star:1790 工具和库,以远程入侵RTSP流从监控摄像头。
- certificates - star:6 用于生成tls证书的自定义工具。
- go-yara - star:132 YARA的 Go 语言接口,号称是 “对于恶意软件研究者(以及其他人)来说是模式匹配的瑞士军刀”
- goArgonPass - star:10 Argon2密码散列和验证设计为与现有Python和PHP实现兼容。
- goSecretBoxPassword - star:28 一个安全哈希和加密密码的偏执包。
- Interpol - 基于规则的数据生成器,用于模糊和渗透测试。
- jwc - star:5 JSON Web加密库。
- lego - star:3433 纯 Go ACME 客户端库及命令行工具
- memguard - star:997 一个用于处理内存中敏感值的纯Go库。
- nacl - star:449 Go 实现NaCL API的集合。
- passlib - star:225 不过时的密码哈希库。
- secure - star:1189 Go 语言 HTTP 中间件,为 Go 提供了一些安全功能
- simple-scrypt - star:155 Scrypt 库,具有简单、易懂的 API,同时具有内置的自动校准功能
- ssh-vault - star:195 使用ssh密钥加密/解密。
- sslmgr - star:7 使用围绕acme/autocert的高级包装器,SSL证书变得很容易。
序列化
用于二进制序列化的库和工具。
- asn1 - star:40 面向golang的BER和DER编码库。
- bambam - star:61 用于 Go 语言生成 Cap'n Proto schemas 的生成器
- bel - star:5 从Go structs/interface生成TypeScript接口。对JSON RPC很有用。
- binstruct - star:7 用于将数据映射到结构中的Golang二进制解码器。
- colfer - star:473 为Colfer二进制格式生成代码。
- csvutil - star:300 高性能、惯用的CSV记录编码和解码到本机Go结构。
- fwencoder - star:6 用于Go的固定宽度文件解析器(编码和解码库)。
- go-capnproto - star:273 Go 语言用的 Cap'n Proto 库及解析器
- go-codec - star:1216 高性能、多功能、规范化编码解码以及 rpc 库, 用于 msgpack, cbor 和 json,支持基于运行时的 OR 码生成
- gogoprotobuf - star:2856 Go 语言的 Protocol Buffer 库。
- goprotobuf - star:4936 通过库和协议编译器插件使 Go 语言支持 Google的 protocol buffers.
- jsoniter - star:5327 高性能,100% 兼容的“encoding/json” 替代品
- mapstructure - star:2339 用于对原生键值对进行解码生成 Go 语言结构体
- php_session_decoder - star:118 用于协同 PHP session 格式数据和 PHP 序列化/反序列化函数工作的go语言库
- structomap - star:92 用于从静态结构体简单、动态的生成键值对的库
服务器应用程序
- algernon - star:1577 内置支持Lua、Markdown、GCSS和Amber的HTTP/2 web服务器。
- Caddy - star:22741 Caddy是另一种HTTP/2 web服务器,易于配置和使用。
- consul - Consul 是一个用于服务发现、监控和配置的工具
- devd - star:2787 为开发人员提供本地web服务器。
- discovery - star:636 用于弹性中间层负载平衡和故障转移的注册表。
- etcd - star:25891 为共享配置和服务发现提供高可用的键值存储。
- Fider - star:780 Fider是一个收集和组织客户反馈的开放平台。
- Flagr - star:798 Flagr是一个开源特性标记和A/B测试服务。
- flipt - star:981 一个用Go和Vue.js编写的自包含特性标志解决方案
- jackal - star:708 用Go编写的XMPP服务器。
- minio - star:16930 Minio是一个分布式对象存储服务器。
- nginx-prometheus - star:5 Nginx日志解析器和Prometheus 导出。
- nsq - 一个实时分布式消息平台。
- psql-streamer - star:5 从PostgreSQL到Kafka的流数据库事件。
- riemann-relay - 传递到负载平衡Riemann事件并/或将其转换为 Carbon。
- RoadRunner - star:3151 高性能PHP应用服务器,负载平衡器和进程管理器。
- yakvs - 小型化、网络化、基于内存的键值存储
模板引擎
用于模板和词法分析的库和工具。
- ace - star:761 Ace 是一个 Go 语言的 HTML 模板引擎,受到了 Slim 和 Jade 的启发。 Ace 是对Gold的一种改进。
- amber - star:822 Amber是一个优雅的Go编程语言模板引擎,它的灵感来自HAML和Jade。
- damsel - star:20 标记语言,通过css选择器实现了 html 框架 ,并可以通过 pkg html/template 等进行扩展
- ego - star:408 轻量级模板语言,允许您在Go中编写模板。模板被翻译成Go并编译。
- extemplate - star:13 对 html/template 进行了简单的封装,支持基于文件的模板可以利用其他模板文件进行扩展
- fasttemplate - star:288 简单快速的模板引擎。进行模板元素替换时,速度是比text/template快10倍。
- gofpdf - star:3023 PDF 文档生成器,支持文本,绘图和图片
- goview - star:40 Goview是一个轻量级、极简的模板库,基于golang html/template构建Go web应用程序。
- hero - star:1192 Hero是一个方便、快速和强大的go模板引擎。
- jet - star:578 Jet模板引擎。
- kasia.go - star:70 一个用于HTML 和其他文本文件的模板系统,使用go语言实现
- liquid - star:79 Go 语言实现的 Shopify Liquid 模板.
- mustache - star:967 Go 语言实现的 Mustache 模板语言
- pongo2 - star:1484 类似 DjanGo 的模板引擎
- quicktemplate - star:1371 快速、强大且易用的模板引擎。将模板转化为 Go 语言并进行编译
- raymond - star:337 使用 Go 语言实现的完整的 handlebars
- Razor - star:688 Go 语言的 Razor 视图引擎
- Soy - star:143 Go 语言实现的谷歌闭包模板(也就是 Soy templates) ,遵循官方规范。
- velvet - star:65 使用 Go 语言实现的完整的 handlebars
测试
用于测试代码库和生成测试数据的库。
-
Testing Frameworks
- assert - star:13 基础断言库,用于对 Go 语言程序进行测试,提供了一些用于自定义断言的代码块
- badio - star:8 Go 语言 testing/iotest 包的扩展。
- baloo - star:637 表达性强、多功能的、端到端的HTTP API 测试工具
- biff - star:6 分支测试框架,BDD兼容。
- bro - star:26 监控目录中的文件并对其进行测试
- charlatan - star:188 为测试生成假接口实现的工具。
- commander - star:31 用于在windows、linux和osx上测试cli应用程序的工具。
- cupaloy - star:80 测试框架的简单快照测试插件。
- dbcleaner - star:82 清空数据库用于测试,受到database_cleaner 的启发
- dsunit - star:25 用于SQL、NoSQL、结构化文件的数据存储测试。
- endly - star:88 声明性端到端功能测试。
- frisby - star:247 REST API测试框架。
- ginkgo - Go的BDD测试框架。
- go-carpet - star:194 在终端中查看测试覆盖率的工具。
- go-cmp - star:1109 用于比较测试中的Go值的包。
- go-mutesting - star:245 变异测试的Go源代码。
- go-testdeep - star:53 极具灵活性的golang深度比较,扩展了go测试包。
- go-vcr - star:324 记录并回放HTTP交互,以便进行快速、确定和准确的测试。
- goblin - star:613 类似Mocha的测试框架。
- gocheck - 更加高级的测试框架,用于替换 Gotest
- GoConvey - BDD 风格的测试框架,具有 web 界面和计时刷新功能
- gocrest - star:8 用于 Go 断言的可组合的类似 hamcrest 的 matchers。
- godog - star:729 类似 Cucumber 或 Behat 的 BDD 框架
- gofight - star:252 对 Go 语言的路由框架进行 API 测试
- gogiven - star:7 类似于 YATSPEC 的Go BDD测试框架。
- gomatch - star:29 为针对模式测试JSON而创建的库。
- gomega - 类似 Rspec 的 matcher/assertion 库
- GoSpec - star:111 用于 Go 编程语言的bdd风格的测试框架。
- gospecify - star:51 支持 BDD 语法 。对于任何使用过 rspec 等库的人来说应该非常熟悉。
- gosuite - star:9 轻量级测试套,为 Go1.7's Subtests 带来了setup/teardown 功能
- gotest.tools - star:117 一组包,用于增强go测试包并支持公共模式。
- Hamcrest - star:26 用于声明性 Matcher 对象的连贯框架,当将其应用于输入值时,将产生自描述结果。
- httpexpect - star:1112 简洁的、声明式的、易用的端到端HTTP 及 REST API 测试
- jsonassert - star:20 用于验证JSON有效负载已正确序列化的包。
- restit - star:48 帮助编写 RESTful API 集成测试的 Go 语言微型框架.。
- testcase - star:9 行为驱动开发的惯用测试框架。
- testfixtures - star:318 类似 Rails 的测试工具,用于测试数据库应用
- Testify - star:7874 对标准测试包的扩展。
- testmd - 将markdown代码段转换为可测试的go代码。
- testsql - star:7 在测试前从SQL文件生成测试数据,并在测试完成后清除数据。
- Tt - star:5 简单而丰富多彩的测试工具。
- wstest - star:61 用于单元测试Websocket http.Handler的Websocket客户机。
-
Mock
- counterfeiter - star:355 用于生成自包含 mock 对象的工具
- go-sqlmock - star:1655 Mock SQL ,用于测试数据库交互
- go-txdb - star:155 基于单事务的数据库驱动,主要用于测试目的
- gock - star:790 多功能、易用 HTTP mock
- gomock - star:2695 用于Go编程语言的mock框架。
- govcr - star:78 HTTP mock : 离线测试时记录和重放浏览器的动作
- hoverfly - star:1418 使用可扩展中间件和易于使用的CLI记录和模拟REST/SOAP api的HTTP(S)代理。
- httpmock - star:560 轻松模拟来自外部资源的HTTP响应。
- minimock - star:193 Go接口的模拟生成器。
- mockhttp - star:22 Go http.ResponseWriter的模拟对象。
-
Fuzzing and delta-debugging/reducing/shrinking.
-
Selenium and browser control tools.
-
Fail injection
- failpoint - star:370 为Golang实现failpoints。
文本处理
用于解析和操作文本的库。
- Specific Formats
- align - star:57 对文本进行对齐的通用应用程序。
- allot - star:33 用于CLI工具和机器人的占位符和通配符文本解析。
- bbConvert - star:5 将bbCode转换为HTML,使您可以添加对自定义bbCode标记的支持。
- blackfriday - star:3813 Markdown 解析器
- bluemonday - star:1215 HTML 清理工具
- codetree - star:7 解析缩进代码(python、pixy、scarlet等)并返回树结构。
- colly - star:8127 快速和优雅的 Scraping 框架。
- commonregex - star:550 一组用于Go的公共正则表达式。
- dataflowkit - star:283 Web抓取框架将网站转换为结构化数据。
- did - star:21 DID(分散标识符)解析器和Stringer。
- doi - star:4 文档对象标识符(doi)解析器。
- editorconfig-core-go - star:37 Editorconfig文件解析器和Go操作器。
- enca - star:7 libenca的最小cgo绑定。
- encdec - star:3 软件包为编码器和解码器提供了通用接口。
- genex - star:50 将正则表达式计数并展开为所有匹配的字符串。
- github_flavored_markdown - GitHub 风格的 Markdown 渲染器 (使用 blackfriday) ,支持代码块高亮以及可点击的锚点
- go-fixedwidth - star:24 固定宽度的文本格式(带反射的编码器/解码器)。
- go-humanize - star:1859 格式化程序,用于将时间、数字和内存大小转换为可读格式。
- go-nmea - star:92 用于Go语言的NMEA解析器库。
- go-runewidth - star:208 函数获取字符或字符串的固定宽度。
- go-slugify - star:27 生成漂亮的固定链接地址(slug),支持多种语言
- go-toml - star:599 使用带有查询支持和方便的cli工具的TOML格式库。
- go-vcard - star:24 解析和格式化vCard。
- go-zero-width - star:41 用于Go的零宽度字符检测和删除。
- gofeed - star:1085 在Go中解析RSS和Atom feeds。
- gographviz - star:287 解析Graphviz DOT语言。
- gommon/bytes - 格式化二进制为字符串。
- gonameparts - star:29 将人名解析为单独的名称部分。
- goq - star:142 声明式 HTML 编组,使用结构标签和 jQuery 语法 (使用 GoQuery).
- GoQuery - star:7450 GoQuery 为 Go 语言带来了一组类似 jQuery 的语法和功能
- goregen - star:35 根据正则表达式生成随机字符串
- gotext - star:229 GNU gettext 工具
- guesslanguage - star:44 通过一个 unicode 文本来猜测该文本使用的语言
- htmlquery - star:118 用于HTML的XPath查询包,允许您通过XPath表达式从HTML文档中提取数据或求值。
- inject - star:1130 包注入提供了一个基于反射的注入器。
- ltsv - star:2 用于Go的高性能LTSV(标签为Tab Separeted Value)阅读器。
- mxj - star:325 将XML编码/解码为JSON或map[string]接口{};使用点符号路径和通配符提取值。替换x2j和j2x包。
- sdp - star:66 SDP:会话描述协议[RFC 4566]。
- sh - star:1929 Shell解析器和格式化工具。
- slug - star:365 URL 友好的 slug 化工具,支持多种语言
- Slugify - star:26 字符串 slug 化的工具。
- syndfeed - star:4 Atom 1.0和RSS 2.0的联合提要。
- toml - star:2727 TOML配置格式(带反射的编码器/解码器)。
- Utility
- gofuckyourself - star:15 一个基于 sanitization 的 Go 敏感词过滤器。
- gotabulate - star:198 使用 Go 语言简单、美观的打印表格数据
- kace - star:12 通用大小写转换工具
- parseargs-go - star:5 字符串参数解析器,能够理解引用及反斜杠。
- parth - star:31 URL路径分割解析。
- radix - star:141 快速字符串排序算法。
- Tagify - 从给定源生成一组标记。
- TySug - star:3 关于键盘布局的其他建议。
- xj2go - star:17 将xml或json转换为struct。
- xurls - star:456 从文本中提取url。
第三方api
用于访问第三方api的库。
- amazon-product-advertising-api - star:39 使用[Amazon Product Advertising API]的客户端库(https://program.amazon.com/gp/advertising /api/detail/main.html)。
- anaconda - star:986 Twitter 1.1 API 的 go 语言客户端
- aws-sdk-go - star:4959 AWS 提供的官方go语言 SDK
- brewerydb - star:16 用于访问 BreweryDB API的 Go 语言库
- cachet - star:65 使用客户端库Cachet(开源状态页系统)。
- circleci - star:41 CircleCI的API的客户端
- clarifai - star:57 Clarifai API的客户端。
- codeship-go - star:14 Codeship API v2的客户端。
- coinpaprika-go - star:11 Coinpaprika API的客户端。
- discordgo - star:940 Discord Chat API的客户端。
- ethrpc - star:164 Ethereum JSON RPC API的客户端。
- facebook - star:767 支持 Facebook Graph API 的库
- fcm - star:33 Firebase Cloud Messaging 的 Go 语言库
- gads - star:44 Google Adwords 非官方 API
- gami - star:26 Asterisk Manager Interface 的 Go 语言库
- gcm - star:30 Google Cloud Messaging 库
- geo-golang - star:302 访问谷歌地图(https://developers.google.com/maps/documentation/geocoding/intro), (MapQuest) (http://open.mapquestapi.com/geocoding/), (Nominatim) (https://developer.mapquest.com/documentation/open/nominatim-search), (OpenCage) (http://geocoder.opencagedata.com/api.html), (Bing) (https://msdn.microsoft.com/en-us/library/ff701715.aspx), (Mapbox) (https://www.mapbox.com/developers/api/geocoding/),以及OpenStreetMap geocoding / reverse geocoding api 的库
- github - star:4694 访问GitHub REST API v3的库。
- githubql - star:488 访问GitHub GraphQL API v4的库。
- go-chronos - star:3 用于与Chronos作业调度程序进行交互的Go库
- go-hacknews - star:9 HackerNews API的小型Go客户端。
- go-imgur - star:13 Go [imgur]的客户端库(https://imgur.com)
- go-jira - star:554 Go [Atlassian JIRA]的客户端库(https://www.atlassian.com/software/jira)
- go-marathon - star:188 用于和 Mesosphere's Marathon PAAS 交互的 Go 语言库
- go-myanimelist - star:16 访问[MyAnimeList API]的客户端库(http://myanimelist.net/modules.php?go=api)。
- go-sophos - star:5 为[Sophos UTM REST API](https://www.sophos.com/en-us/medialibrary/pdfs/documentation/utmonaws/sophos-ut-restful-api.pdf?
- go-sptrans - star:8 SPTrans Olho Vivo API 的客户端。
- go-telegraph - Telegraph 发布平台 API 客户端。
- go-trending - star:100 在Github上访问trends repository和developers的库。
- go-twitch - star:16 Twitch v3 API 的客户端。
- go-twitter - star:696 Twitter v1.1 api 的客户端。。
- go-unsplash - star:20 使用Unsplash.com API的客户端库。
- go-xkcd - star:38 xkcd API 的客户端。
- golyrics - star:30 Golyrics是一个从Wikia网站获取音乐歌词数据的Go库。
- gomalshare - Go library MalShare API malshare.com
- GoMusicBrainz - star:36 Go MusicBrainz WS2客户端库。
- google - star:1899 为Go自动生成谷歌api。
- google-analytics - star:12 简单的包装,方便的谷歌分析报告。
- google-cloud - star:1741 谷歌云api Go 客户端库。
- google-email-audit-api - star:6 谷歌G Suite Email Audit API 的客户端。
- gostorm - star:118 GoStorm是一个Go库,它实现了编写Storm spout和bolt所需的通信协议,这些协议用于与Storm shell通信。
- hipchat - star:109 这个项目为Hipchat API实现了一个golang客户端库。
- hipchat (xmpp) - star:114 一个用于通过XMPP与HipChat通信的golang包。
- igdb - star:52 Internet Game Database API 客户端。
- Medium - star:116 Medium的OAuth2 API 客户端。
- megos - star:57 用于访问Apache Mesos集群的客户端库。
- minio-go - star:706 用于Amazon S3兼容云存储的Minio Go库。
- mixpanel - star:28 Mixpanel是一个库,用于跟踪事件并将Mixpanel概要文件更新从go应用程序发送到Mixpanel。
- patreon-go - star:18 Go Patreon API库。
- paypal - star:298 PayPal支付API的包装器。
- playlyfe - star:1 Playlyfe Rest API Go SDK。
- pushover - star:57 Go 包装的 Pushover API。
- rrdaclient - star:8 用于接入 statdns.com API 的库——RRDA API。通过HTTP协议进行 DNS查询。
- shopify - star:20 一个用于通过 Shopify API 进行增删改查的 Go 语言库。
- simples3 - star:9 使用REST和用Go编写的V4签名的AWS S3库非常简单。
- slack - star:2363 Slack API。
- smite - star:10 对 Smite game API 的封装。
- spotify - star:16 用于接入 Spotify WEB API 的 Go 语言库
- steam - star:14 用于与Steam服务器进行交互的库。
- stripe - star:919 Stripe API 的 Go 语言客户端
- textbelt - star:14 textbelt.com txt messaging API 的go语言客户端。
- TheMovieDb - star:13 简单的golang包与[themoviedb.org]通信(https://themoviedb.org)。
- translate - star:27 Go 在线翻译包。
- Trello - star:99 Trello API的 Go 语言封装。
- TripAdvisor - star:1 TripAdvisor API 的 Go 语言封装。
- tumblr - star:6 Tumblr v2 API 的 Go 语言封装。
- uptimerobot - star:34 运行时Robot v2 API 的 Go 语言封装和命令行客户端。
- webhooks - star:339 GitHub 和 Bitbucket 的Webhook接收器。
- wit-go - star:45 wit.ai HTTP API 客户端。
- ynab - star:12 YNAB API 的 Go 语言封装。
- zooz - star:5 Zooz API 的 Go 语言客户端。
公用事业公司
可以让你的生活变得更简单的实用工具.。
- abutil - star:51 常用 Go 语言工具的集合。
- apm - star:126 Go 语言进程管理工具具有HTTP API.。
- backscanner - star:8 类似 bufio 的扫描器,但它以相反的顺序读取和返回行,从给定的位置开始,然后返回。
- blank - star:1 验证或删除字符串中的空白。
- boilr - star:925 非常快的CLI工具,用于从样板模板创建项目。
- chyle - star:107 使用具有多种配置可能性的git存储库生成变更日志。
- circuit - star:317 一个高效和功能齐全的 类似 Hystrix Go 实现断路器模式。
- circuitbreaker - star:778 接通断路器。
- clockwork - star:217 一个简单的假 clock 。
- command - star:9 命令模式,支持线程安全的串行、并行调度。
- copy-pasta - star:37 通用多工作站剪切板,使用类似 S3 的后端作为存储。
- ctop - star:8673 Top-like接口(例如htop), 用于容器数据收集。
- ctxutil - star:6 上下文工具。
- dbt - star:10 用于从中心可信存储库运行自更新签名二进制文件的框架。
- Death - star:132 利用信号管理应用程序的关闭。
- Deepcopier - star:204 结构体拷贝
- delve - star:11774 Go 语言调试器
- dlog - star:15 编译时控制的日志,让你的 release 包变得更小而不需移除 debug 调用。
- ergo - star:308 管理运行在不同端口上的多个本地服务变得很容易。
- evaluator - star:14 基于 s-expression。它很简单,很容易扩展。
- fastlz - star:12 FastLz(免费,开源,可移植实时压缩库) 的一个封装
- filetype - star:928 通过数字签名来推测文件类型。
- filler - star:14 使用“fill”标签填充结构的小工具。
- filter - star:11 提供Go数据的过滤、清理和转换。
- fzf - star:22594 用Go编写的命令行模糊查找器。
- gaper - star:37 当Go项目崩溃或一些人看到文件更改时,构建并重新启动该项目。
- generate - star:19 针对一个路径或环境变量,递归的执行 Go generate,可以通过正则表达式来进行过滤。
- ghokin - star:12 没有外部依赖的gherkin (cucumber, behat…)并行格式化程序。
- git-time-metric - star:711 git-time-metric - 。
- go-astitodo - star:45 解析你 Go 语言代码中的 TODOs(待办事项)。
- go-bind-plugin - star:160 Go:generate 工具,用于构建 Go 语言插件(1.8 only),并对导出的符号进行包装。
- go-bsdiff - star:79 纯Go bsdiff和bspatch库和CLI工具。
- go-dry - star:433 DRY(don't repeat yourself)库。
- go-funk - star:1112 现代 Go 语言工具库,提供了很多有用的工具 (map, find, contains, filter, chunk, reverse, ...)
- go-health - star:62 健康包简化了向服务中添加健康检查的方式。
- go-httpheader - star:14 用于将结构体编码进 http 头的 Go 语言库
- go-problemdetails - star:2 打包处理问题细节。
- go-rate - star:292 Go 限速器。
- go-sitemap-generator - star:103 用Go编写的XML站点地图生成器。
- go-torch - star:3625 为 Go 语言程序生成火焰图。
- go-trigger - star:181 Go 语言全局事件触发器,通过 id 和触发器,在程序的任何地方注册事件。
- goback - star:39 一个 Go 语言的简单的指数补偿包。
- godaemon - star:402 用于编写守护进程的工具
- godropbox - star:3732 用于编写 Go 语言服务/应用的库,来自 Dropbox.。
- gohper - star:248 多种能够帮助你进行软件开发的工具和模块。
- golarm - star:34 告警(支持系统事件)。
- golog - star:43 简单、轻量级的命令后工具,用于对你的计划任务进行跟踪。
- gopencils - star:424 小而简单的包,可以轻松地使用REST api。
- goplaceholder - star:22 一个小巧的 Go 语言库用于生成占位图片。
- goreadability - star:28 网页摘要提取器使用Facebook开放图形和arc90的可读性。
- goreleaser - star:4414 尽可能快速的发布 Go 语言二进制文件。
- goreporter - star:2462 进行代码静态分析,单元测试,代码检视并生成代码质量报告的工具
- goseaweedfs - star:26 conseilSeaweedFS 客户端,几乎具有全部的特性。
- gostrutils - star:14 字符串操作和转换函数的集合。
- gotenv - star:136 从
.env
或者任何io.Reader
。 - gpath - star:25 用于简化结构体域访问的库。
- gubrak - star:133 带有语法糖的Golang实用工具,就像lodash。
- handy - star:44 许多实用程序和帮助程序,如字符串处理程序/格式化程序和验证器。
- htcat - star:480 并行及流水线的 HTTP GET 工具。
- hub - star:16715 封装了 git 命令,提供了额外的功能用于在终端中和 Github 进行交互。
- hystrix-go - star:1957 实现 Hystrix 风格的、程序员预定义的 fallback 机制(熔断。
- immortal - star:599 *nix 跨平台 (与操作系统无关的)监控程序。
- intrinsic - star:39 不需要编写任何汇编代码就能使用 x86 SIMD。
- jump - star:644 通过学习你的习惯,可以帮助你更快地导航。
- koazee - star:281 库的灵感来自于延迟计算和函数式编程,从而减少了使用数组的麻烦。
- lrserver - star:100 LiveReload 服务器。
- mc - star:1079 Minio Client 提供了一组工具,用于操作 Amazon S3 兼容云存储和文件系统。
- mergo - star:829 用于将结构体和map合并进 Go 语言的工具。对于配置默认值,避免杂乱的if语句很有帮助。
- mimemagic - star:42 纯粹 Go 超性能MIME嗅探库/实用程序。
- mimesniffer - star:7 一个用于Go的MIME类型嗅探器。
- mimetype - star:102 用于基于神奇数字的MIME类型检测的包。
- minify - star:1840 用于HTML、CSS、JS、XML、JSON和SVG文件格式的快速缩小器。
- minquery - star:50 MongoDB / mgo.v2, 支持高效分页查询(用于继续列出我们停止的文档的游标)。
- mmake - star:1451 现代 Make 工具
- moldova - star:148 基于输入目标生成随机数据的工具
- mole - star:1297 cli应用程序可以轻松创建ssh隧道。
- mssqlx - star:57 数据库客户端,用于主-从 (或主-主) 数据库,集成了简单的、轻量级的轮询调度负载均衡。
- multitick - star:58 用于 aligned tickers 的多路复用
- myhttp - star:34 简单的API,使HTTP GET请求与超时支持。
- netbug - star:65 远程对你的服务进行性能分析
- okrun - star:14 Go 运行错误 steamroller。
- olaf - star:1 Twitter Snowflake 在Go中实现。
- onecache - star:98 支持多个后端存储(Redis、Memcached、文件系统等)的缓存库。
- panicparse - star:2082 将类似的协程分组并对调用栈进行着色
- peco - star:5414 简单的交互过滤工具。
- pgo - star:24 用于PHP社区的 Convenient 函数。
- pm - star:71 进程(即goroutine)管理器与HTTP API。
- profile - star:986 Go的简单分析支持包。
- rclient - star:27 可读、灵活、易于使用的REST api客户端。
- realize - star:3101 Go 语言构建系统,可以监控文件变化并重新加载。运行,构建,监控文件并支持自定义路径。
- repeat - star:56 执行不同的后 backoff 策略,这对重新尝试操作和心跳非常有用。
- request - star:355 Go 语言版的 HTTP Requests for Humans™.。
- rerate - star:12 基于 Redis 的速率计数器和限速器
- rerun - star:153 当源代码发生更改时,重新编译和重新运行go应用程序。
- resty - star:1827 简单的 HTTP 和 REST 客户端,受到 Ruby rest-client 的启发。
- retry - star:140 基于上下文的功能机制,反复执行命令直到成功。
- retry - star:2 一个简单但高度可配置的Go重试包。
- retry - star:34 简单易用的重试机制包,为 Go 。
- retry - star:9 一个相当简单的库,以确保您的工作可以完成。
- retry-go - star:26 对 Go 来说,重试变得简单而容易。
- robustly - star:133 有弹性的执行函数,遇到错误时捕获并重新运行。
- scan - star:11 扫描golang的sql。行直接指向结构、片或基本类型。
- serve - star:191 任何您需要的静态http服务器。
- silk - star:4 阅读silk netflow文件。
- sliceconv - star:2 基本类型之间的片转换。
- slicer - star:3 使处理切片更容易。
- spinner - star:765 一个 Go 语言软件包,提供多种选项,方便在终端中创建加载动画。
- sqlx - star:6621 为内建的数据库/sql 软件包提供一组扩展。
- sslice - star:2 创建一个总是排序的切片。
- Storm - star:1334 一个简单又强大的用于 BoltDB 的工具
- structs - star:12 简单来讲就是 "Make" 的替代品。
- Task - star:1866 简单的“Go”的选择。
- toolbox - star:87 切片, map, multimap, 结构体, 函数,数据转换工具。服务路由,宏求值和标记器。
- tracer - star:4 简单、轻量级的跟踪。
- ugo - star:20 uGo 是一个切片工具箱,有着和 Go 语言一致的语法法。
- UNIS - star:69 Go 语言字符串处理函数的通用架构 。
- usql - star:4654 usql 是一个通用的命令行接口,用于操作 sql 数据库。
- util - star:130 有用实用函数的集合。(字符串,并发,操作,…)
- wuzz - star:8230 用于HTTP检查的交互式cli工具。
- xferspdy - star:68 Xferspdy在golang中提供二进制diff和补丁库。
UUID
用于处理uuid的库。
- goid - star:20 生成和解析RFC4122兼容的V4 uuid。
- nanoid - star:3 一个小而有效的Go唯一字符串ID生成器。
- sno - star:14 使用嵌入元数据的紧凑、可排序和快速的惟一id。
- ulid - star:1653 实现了ULID(普遍唯一的词典分类标识符)。
- uniq - 没有麻烦,安全,快速的唯一标识符与命令。
- uuid - star:10 使用快速或加密质量的随机节点标识符生成、编码和解码UUIDs v1。
- uuid - star:556 通用唯一标识符(UUID)的实现。支持uuid的创建和解析。积极维护satori uuid的fork。
- wuid - star:278 一个非常快的唯一数字生成器,比UUID快10-135倍。
验证
库进行验证。
- checkdigit - star:43 提供校验数字算法(Luhn, Verhoeff, Damm)和计算器(ISBN, EAN, JAN, UPC等)。
- govalidator - star:3501 用于字符串,数字,切片和结构的验证器和sanitizers。
- govalidator - star:698 用简单的规则验证Golang请求数据。深受Laravel请求验证的启发。
- jio - star:21 jio是一个json模式验证器,类似于joi。
- ozzo-validation - star:1018 支持各种数据类型(结构、字符串、映射、片等)的验证,使用可配置和可扩展的验证规则,这些规则在通常的代码构造中指定,而不是在结构标签中指定。
- validate - star:87 Go 封装数据验证和过滤。支持验证映射、结构、请求(表单、JSON、url)。值,上载文件)数据和更多特性。
- validate - star:19 这个包提供了一个框架,用于为Go应用程序编写验证。
- validator - star:3355 Go 结构体及域验证,包括:跨域、跨结构体, Map, 切片和数组。
版本控制
用于版本控制的库。
- gh - star:68 用于GitHub webhook的可编写脚本的服务器和net/http中间件。
- git2go - star:1345 libgit2 的 Go 语言接口。
- go-git - star:4131 纯Go中高度可扩展的Git实现。
- go-vcs - star:69 在Go中操作和检查VCS存储库。
- hercules - star:506 从Git存储库历史中获得高级见解。
- hgo - star:12 Hgo是一组Go包的集合,提供对本地Mercurial存储库的读取访问。
视频
用于操作视频的库。
- gmf - star:513 FFmpeg av* 库的 Go 语言接口。
- go-astisub - star:163 使用 Go 语言操作字幕(.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.)。
- go-astits - star:258 在GO中解析和演示MPEG传输流(.ts)。
- go-m3u8 - star:36 苹果m3u8播放列表的解析器和生成器库。
- goav - star:762 FFmpeg的Comphrensive。
- gst - star:153 GStreamer的Go工具。
- libgosubs - star:11 字幕格式支持 .srt、.ttml和.ass。
- libvlc-go - star:60 Go绑定libvlc 2.X/3.X/4。X(由VLC媒体播放器使用)。
- v4l - star:27 用于Linux的视频捕捉库,用Go编写。
Web框架
全栈 web 框架。
- aah - 可伸缩、高性能、快速开发的Go Web框架。
- Aero - star:153 高性能的Go web框架,在Lighthouse中达到最高分。
- Air - star:515 一个理想的精细化的Go web框架。
- Banjo - star:7 非常简单和快速的网络框架 Go 。
- Beego - star:21119 beego是一种用于 Go 编程语言的开源高性能web框架。
- Buffalo - 为 Go 语言带来堪比 Rails 的高生产效率!
- Echo - star:14433 高性能、极简的Go web框架。
- Fireball - star:48 感觉更加自然的 web 框架。
- Gem - star:153 简单快速的web框架,对REST API友好。
- Gin - star:29027 Gin是一个用Go编写的web框架!它具有一个类似于martini的API,性能更好,速度快40倍。
- Gizmo - star:2817 《纽约时报》使用的微服务工具包。
- go-json-rest - star:3317 设置RESTful JSON API的快速简便方法。
- go-rest - star:115 小型的 REST 框架。
- Goa - star:3466 Goa为在Go中开发远程api和微服务提供了一种全面的方法。
- Golax - star:71 一个非Sinatra快速HTTP框架,支持谷歌自定义方法、深度拦截器、递归等。
- Golf - star:236 Golf 是一个快速、简单、轻量级的 Go 语言微型 web 框架。具有强大的功能且没有标准库以外的依赖。
- Gondola - star:314 web框架写的网站越快越好。
- gongular - star:415 快速 Go web 框架,支持输入映射/验证以及依赖注入。
- hiboot - star:85 hiboot是一个高性能的web应用程序框架,支持自动配置和依赖注入。
- Macaron - star:2782 Macaron 是一个高效的模块化设计的web框架
- mango - star:340 ManGo 是一个模块化 web 应用框架,受到 Rack 和 PEP333 的启发。
- Microservice - star:56 创建微服务的框架,用Golang编写。
- neo - star:393 Neo是一个非常简单且快速的Web框架API。
- nio - star:21 现代的、最小的和高效的Go HTTP框架。
- patron - star:29 Patron是一个遵循最佳云实践的微服务框架,专注于提升开发效率。
- Resoursea - star:29 用于快速编写基于资源的服务的REST框架。
- REST Layer - 框架,用于在数据库之上构建REST/GraphQL API,主要是通过代码进行配置。
- Revel - star:11191 用于Go语言的高效web框架。
- rex - star:25 Rex 是一个用于进行模块化开发的库,基于Gorilla/mux 完全兼容大多数的 net/HTTP.
- sawsij - star:2 轻量级、开源的web框架,用于构建高性能、数据驱动的web应用程序。
- tango - star:814 微型的、支持插件的 web 框架。
- tigertonic - star:995 用于构建 JSON web 服务的 Go 语言框架,受到 Dropwizard 的启发。
- traffic - star:519 Sinatra启发了regexp/pattern mux和用于Go的web框架。
- uAdmin - star:48 受到 Sinatra 启发的 Go 语言 web 框架。
- utron - star:2137 Go(Golang)的轻量级MVC框架。
- vox - star:29 一个面向人类的golang web框架,深受Koa的启发。
- WebGo - star:72 构建web应用程序的微框架;处理程序链接、中间件和上下文注入。与标准库兼容的HTTP处理程序(即http.HandlerFunc)。
- YARF - star:49 快速微框架,旨在以快速和简单的方式构建REST api和web服务。
- Zerver - Zerver是一个表现力强、模块化、功能完备的RESTful框架。
中间件
仿真中间件
- client-timing - star:11 用于服务器定时报头的HTTP客户机。
- CORS - star:1182 轻松地向API添加CORS功能。
- formjson - star:33 透明地将JSON输入作为标准表单POST处理。
- go-server-timing - star:744 添加/解析Server-Timing头。
- Limiter - star:770 简单的速度限制中间件。
- ln-paywall - star:86 使用Lightning Network(比特币)实现基于每个请求的api货币化中间件。
- Tollbooth - star:1222 限制速率的 HTTP 请求处理程序。
- XFF - star:71 处理 X-Forwarded-For 头的中间件。
用于创建HTTP中间件的库
- alice - star:1807 用于连接中间件的库,简单无痛苦。
- catena - star:7 HTTP.Handler wrapper catenation (和chain具有相同的 API ).。
- chain - star:63 带有范围数据的处理程序包装器链接(基于网络/上下文的“中间件”)。
- go-wrap - star:58 net/http的小型中间件包。
- gores - star:82 处理HTML、JSON、XML等响应的Go包。对于RESTful api非常有用。
- interpose - star:290 golang的极简网络/http中间件。
- muxchain - star:208 用于net/http的轻量级中间件。
- negroni - star:6287 符合语言习惯的 HTTP 中间件库。
- render - star:1262 Go package用于方便地呈现JSON、XML和HTML模板响应。
- renderer - star:167 简单、轻量级和更快的响应(JSON、JSONP、XML、YAML、HTML、文件)。
- rye - star:92 支持JWT、CORS、Statsd和Go 1.7上下文的小型Go中间件库(带有罐装中间件)。
- stats - star:536 使用中间件来存储关于web应用程序的各种信息。
路由器
- alien - star:105 轻量级和快速http路由器从外层空间。
- bellt - star:37 一个简单的Go HTTP路由器。
- Bone - star:1218 闪电快速HTTP多路复用器。
- Bxog - star:93 简单和快速的HTTP路由器 Go 。它可以处理不同难度、长度和嵌套的路径。他还知道如何根据接收到的参数创建URL。
- chi - star:5903 小巧、快速、具有丰富表达力的 HTTP 路由,基于net/context.。
- fasthttprouter - star:738 高性能路由器分叉从
httprouter
。第一个路由器适合fasthttp
。 - FastRouter - star:18 一个快速,灵活的HTTP路由器写在Go。
- gocraft/web - star:1392 Mux和中间件包在Go中。
- Goji - star:763 枸杞是一种简约的和灵活的与支持'net/context` HTTP请求多路复用器。
- GoRouter - star:47 GoRouter 是一个服务器/API 微型框架、HTTP 请求路由 router, 数据分选器,提供了支持net/context的中间件。
- gowww/router - star:158 超快的HTTP 路由,完全兼容 net/HTTP.Handler 接口.。
- httprouter - star:9526 高性能路由。使用这个库和标准http处理工具可以构建一个非常高性能大web框架。
- httptreemux - star:384 高速,灵活,基于树的 HTTP 路由。受到了 httprouter 的启发。
- lars - star:375 是一个轻量级、快速、可扩展、零分配的HTTP路由,用于创建定制化的框架。
- mux - star:9457 强大的URL路由器和调度器为golang。
- ozzo-routing - star:358 一个非常快的Go (golang) HTTP路由器,支持正则表达式路由匹配。完全支持构建RESTful api。
- pure - star:84 是一个轻量级HTTP路由器,它坚持net/ HTTP“实现”的std。
- Siesta - star:349 编写中间件和处理程序的可组合框架。
- vestigo - star:250 高性能,独立,HTTP兼容的URL路由器的go web应用程序。
- violetear - star:95 HTTP路由器。
- xmux - star:87 高性能mux基于httprouter 'net/context`支持。
- xujiajun/gorouter - star:446 一个简单和快速的HTTP路由器 Go 。
Windows
- d3d9 - star:85 Direct3D9 的 Go 语言接口。
- go-ole - star:544 为 Go 语言实现的 Win32 OLE。
- gosddl - star:1 从SDDL-string到用户友好的JSON的转换器。SDDL由四个部分组成:所有者、主群、DACL、SACL。
XML
用于操作XML的库和工具。
- XML-Comp - star:15 简单的命令行XML比较器,生成文件夹、文件和标记的差异。
- xml2map - star:15 XML来映射转换器编写的Golang。
- xmlwriter - star:6 基于libxml2的xmlwriter模块的过程性XML生成API。
- xpath - star:153 Go的XPath包。
- xquery - star:145 XQuery允许您使用XPath表达式从HTML/XML文档中提取数据。
- zek - star:244 从XML生成Go结构。
工具
- Go 软件和插件。*
代码分析
- apicompat - star:164 检查 Go 项目最近的向下不兼容修改。
- dupl - star:167 用于代码克隆检测的工具。
- errcheck - star:1315 Errcheck是一个用于检查Go程序中未检查错误的程序。
- gcvis - star:912 实时可视化跟踪 GC 数据。
- go-checkstyle - star:95 checkstyle是一个类似于java checkstyle的检查工具。
- go-cleanarch - star:279 go-cleanarch 的创建是为了验证 Clean 体系结构规则,比如 Go 项目中的依赖关系。
- go-critic - star:556 源代码检查工具。
- go-mod-outdated - star:178 找出项目中过期的依赖项。
- go-outdated - star:45 显示过期包的终端应用。
- goast-viewer - star:369 基于 Web 的 Golang AST 可视化工具。
- GoCover.io - GoCover.io 提供了任意 golang 包的代码覆盖率服务。
- goimports - 来修复(添加,删除) Go 中自动导入的工具。
- GolangCI - GolangCI 是一个针对 GitHub pull 请求的自动代码审查服务。服务是开源的,对开源项目是免费的。
- GoLint - star:3117 Go 源码的 linter。
- Golint online - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
- goreturns - 添加 zero 返回声明,以匹配 func 返回类型。
- gosimple - gosimple 是 Go 源代码的linter,专门用于简化代码。
- gostatus - star:241 用于显示包含 Go 包的存储库的状态的命令行工具,。
- lint - star:63 将 linters 作为测试的一部分。
- php-parser - star:616 用 Go 编写的 PHP 解析器。
- staticcheck - 用于大量静态分析检查,您可能已经从 c# 的 ReSharper 等工具中习惯了这些检查。
- tarp - star:14 在源码中寻找没有直接单元测试的函数和方法。
- unconvert - star:258 在源码中删除不必要的类型转换。
- unused - 对未使用的常量、变量、函数和类型的代码进行检查。
- validate - star:62 使用 tags 自动验证结构体字段。
编辑器插件
- Go plugin for JetBrains IDEs - JetBrains IDEs 的 Go 插件。
- go-language-server - star:28 A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.
- go-mode - star:941 在 GNU/Emacs 支持 GO。
- go-plus - star:1480 在 Atom 中添加自动完成,格式化,语法检查,高亮和审查。
- gocode - star:4717 Autocompletion daemon for the Go programming language.
- goprofiling - 在 VS Code 中支持 Go 的基准分析。
- GoSublime - star:3223 包含了可为文本编辑器 SublimeText 3 提供代码自动填充和其他类似IDE的功能的 Golang IDE 插件集合。
- gounit-vim - star:17 基于函数或方法的签名生成Go测试的Vim插件。
- theia-go-extension - star:12 在 Theia IDE中支持 Go。
- velour - star:16 acme编辑器的IRC客户端。
- vim-compiler-go - star:80 在保存时突出显示语法错误的 Vim 插件。
- vim-go - star:10709 Go 开发会用到的 Vim 插件。
- vscode-go - star:5050 Visual Studio代码的扩展(VS代码),它提供了对Go语言的支持。
- Watch - star:166 Runs a command in an acme win on file changes.
Go 生成工具
- generic - star:28 灵活的 Go 数据类型。
- genny - star:928 优雅的 Go 泛型。
- gocontracts - star:52 通过同步代码和文档来实现 design-by-contract 设计。
- gonerics - Go中的易用的泛型。
- gotests - star:2142 从源代码生成测试用例。
- gounit - star:28 使用您自己的模板生成Go测试用例。
- hasgo - star:12 可生成用于切片的 Haskell。
- re2dfa - star:168 将正则表达式转换为有限状态机,并输出 Go 源代码。
- TOML-to-Go - 在浏览器中将 TOML 转换为 Go 类型。
Go 工具
- colorgo - star:96 将 go 命令包装成彩色的 go build 输出。
- depth - star:369 通过分析导入,将包依赖关系树可视化输出。
- gb - 一个基于项目的易用的构建工具。
- generator-go-lang - star:13 一个Yeoman生成器,用于启动新的 Go 项目。
- gilbert - 一个为 Go 项目而生的构建系统和任务运行器。
- go-callvis - star:1943 使用 dot format 可视化 Go 程序的调用图。
- go-pkg-complete - star:37 Bash completion for go and wgo。
- go-swagger - star:3865 基于 Go 的Swagger 2.0实现。
- godbg - star:157 实现了 Rusts 的 dbg! 宏,可以方便的在开发过程中快速、容易地调试。
- OctoLinker - star:3700 借助的 OctoLinker 浏览器扩展,可以高效的地浏览 GitHub go文件。
- richgo - star:378 用文本装饰丰富 go test 的输出。
- rts - star:183 从服务器响应生成Go结构。
软件包
用Go编写的软件。
DevOps 工具
- aptly - Debian存储库管理工具。
- aurora - star:392 基于web的跨平台 Beanstalkd 队列服务器控制台。
- awsenv - star:21 可以为 profile 加载Amazon (AWS)环境变量的轻量二进制文件。
- Blast - star:169 一个用于API负载测试和批处理作业的简单工具。
- bombardier - star:1688 快速跨平台 HTTP 基准测试工具。
- bosun - star:2846 按照时间轴发出告警的框架。
- DepCharge - star:9 Helps orchestrating the execution of commands across the many dependencies in larger projects.
- dogo - star:216 监视源文件中的更改并自动编译和运行(restart)。
- drone-jenkins - star:23 使用二进制文件、docker或 Drone CI 来触发下游Jenkins作业。
- drone-scp - star:55 通过 SSH 进行文件拷贝。其中 SSH 通过二进制文件、docker 或 Drone CI触发。
- Dropship - star:46 通过 cdn 部署代码的工具。
- easyssh-proxy - star:98 Golang package for easy remote execution through SSH and SCP downloading via
ProxyCommand
. - fac - star:1600 修复 git 合并冲突。
- gaia - star:3707 可用于任何编程语言来构建强大的管道。
- Gitea - star:14740 从 Gogs fork,完全由社区驱动。
- gitea-github-migrator - 将所有GitHub repositories、issues、milestones 和 labels 都迁移到 Gitea。
- go-furnace - star:64 用Go编写的托管解决方案,可轻松地在AWS、GCP或DigitalOcean上部署应用程序。
- go-selfupdate - star:659 允许你的 Go应用程序 进行自我更新。
- gobrew - star:176 gobrew 允许您轻松地在 go 的多个版本之间切换。
- godbg - star:219 基于 web 的 gdb 前端应用程序。
- Gogs - 自托管的Git服务。
- gonative - star:312 用原生 Go 创建一个跨平台的 Go 工具链。
- govvv - star:373 可轻松地添加版本信息到 Go 二进制文件。
- gox - star:3330 非常简单,没有多余的跨平台编译工具。
- goxc - star:1627 专注于跨平台编译和打包的 Go 构建工具。
- grapes - star:135 旨在轻松地通过ssh分发命令的轻量级工具。
- GVM - star:4427 GVM 提供了一个接口来管理 Go 版本。
- Hey - star:6107 压力测试工具,可用来代替 ApacheBench (ab)。
- kala - star:1347 简单、现代和高性能的作业调度程序。
- kcli - star:74 用于检查kafka主题/分区/消息的命令行工具。
- kubernetes - star:55124 来自谷歌的容器集群管理器。
- lstags - star:220 提供了工具和API,可用来同步不同注册中心的Docker图像。
- lwc - star:8 UNIX wc命令的实时更新版本。
- manssh - star:202 manssh是一个命令行工具,可以方便地管理ssh别名配置。
- Moby - star:54072 Collaborative project for the container ecosystem to assemble container-based systems.
- Mora - star:265 用于访问 MongoDB 文档和元数据的 REST 服务器。
- ostent - star:165 收集和显示系统指标,并可选 Graphite and/or fluxdb作为依赖。
- Packer - star:9109 用于从一个源配置为多个平台创建相同的机器图像。
- Pewpew - star:198 灵活的 HTTP 命令行压测工具。
- Pomerium - star:468 Pomerium是一个可识别身份的访问代理。
- Rodent - star:30 管理Go版本、项目和跟踪依赖项。
- s3gof3r - star:987 小型实用程序/库,针对大型对象在Amazon S3中的高速传输进行了优化。
- Scaleway-cli - star:534 从命令行管理 BareMetal 服务器(与使用Docker一样容易)。
- script - star:755 让DevOps编写类shell和系统管理任务变得更加容易。
- sg - star:5 可测试一组HTTP极限(如ab),可以在每个调用之间使用响应代码和数据,根据之前的响应来确定特定的服务器压力。
- skm - star:546 SKM是一个简单而强大的SSH密钥管理器,它可以帮助您轻松地管理多个SSH密钥!
- StatusOK - star:1152 监视您的网站和REST api。当服务器宕机或响应时间超过预期时,通过Slack、电子邮件获得通知。
- traefik - star:23269 反向代理和负载均衡器,支持多个后端。
- Vegeta - star:11932 HTTP负载测试工具和库。超过9000 !
- webhook - star:4004 允许用户创建在服务器上执行命令的 HTTP hooks。
- Wide - 为使用 Golang 的团队提供基于 web 的 IDE。
- winrm-cli - star:64 在Windows机器上远程执行命令的Cli工具。
其他软件
- borg - star:1417 基于终端的bash代码段搜索引擎。
- boxed - star:72 基于Dropbox的博客引擎。
- Cherry - star:192 微型网络聊天服务器。
- Circuit - star:1782 Circuit 是一个可编程平台即服务(PaaS)和/或基础设施即服务(IaaS),用于管理、发现、同步和编排包含云应用程序的服务和主机。
- Comcast - star:6148 模拟坏的网络连接。
- confd - star:6338 使用 etcd 或 consul 的模板和数据管理本地应用程序配置文件。
- DDNS - star:97 个人 DDNS 客户端。
- Docker - 面向开发人员和系统管理员的分布式应用程序的开放平台。
- Documize - star:801 集成了SaaS工具数据的现代wiki软件。
- drive - star:4927 基于命令行的谷歌驱动器客户端。
- Duplicacy - star:2666 跨平台网络和云备份工具。
- gfile - star:493 通过WebRTC在两台计算机之间安全地传输文件,不需要任何第三方依赖。
- Go Package Store - star:877 App that displays updates for the Go packages in your GOPATH.
- go-peerflix - star:371 视频流 torrent 客户端。
- GoBoy - star:2101 用 Go 编写的任天堂Game Boy彩色模拟器。
- gocc - star:340 Gocc是一个用Go编写的编译器工具包。
- GoDNS - star:419 一个动态DNS客户端工具,支持DNSPod & HE.net。
- GoDocTooltip - star:12 包含了 Go 使用手册文档的 Chrome 扩展。
- GoLand - 功能齐全的跨平台 Go IDE。
- Gor - star:11228 Http 流量复制工具,用于实时回放从生产环境到阶段/开发环境的流量。
- hugo - 快速、现代的静态网站引擎。
- ide - star:251 基于浏览器的IDE
- ipe - star:275 Open source Pusher server implementation compatible with Pusher client libraries written in GO.
- joincap - star:121 用于合并多个pcap文件的命令行实用程序。
- Juju - Cloud-agnostic的服务部署和编制 —— 支持EC2、Azure、Openstack、MAAS等。
- Leaps - star:640 使用操作转换的成对编程服务。
- lgo - star:1771 与 Jupyter 可进行交互 Go 程序。它支持代码完成、代码检查以及与Go 100% 兼容性。
- limetext - 一个强大而优雅的文本编辑器。
- LiteIDE - star:5430 简单的、开源的、跨平台的Go IDE。
- mockingjay - star:412 一份配置文件中便可伪造HTTP服务器与用户之间的行为。您还可以使服务器随机宕机,以帮助进行更实际的性能测试。
- myLG - star:2190 命令行网络诊断工具。
- naclpipe - star:20 基于加密管的简单的NaCL EC25519工具。
- nes - star:4109 任天堂娱乐系统(NES)模拟器。
- orange-cat - star:177 用Go编写的Markdown预览器。
- Orbit - star:128 一个根据模板来运行命令和生成文件的简单小工具。
- peg - star:588 解析表达式语法,是Packrat解析器生成器的实现。
- Pipe - star:2661 一个小巧漂亮的博客平台。
- restic - star:7269 消除重复项备份程序。
- rkt - star:8708 一个应用容器,与其他容器格式(如Docker)兼容,并支持其他执行引擎(如KVM)。
- scc - star:761 一个非常快速准确的代码计数器,采用了复杂的计算和 COCOMO 预估。
- Seaweed File System - star:8077 快速、简单、可伸缩的分布式文件系统,采用了O(1)磁盘查找。
- shell2http - star:397 通过http服务器执行shell命令(用于原型或远程控制)。
- snap - star:1803 强大的遥测框架。
- Snitch - star:15 当有人通过 Tsuru 部署任何应用程序时,会通知您的团队以及其他工具。
- Stack Up - star:1983 Stack Up 是一个超级简单的部署工具 — 只面向Unix。
- syncthing - 开放,分散的文件同步工具和协议。
- term-quiz - star:17 测试你的终端。
- toxiproxy - star:3790 为自动化测试模拟网络和系统条件的代理。
- tsuru - Extensible and open source Platform as a Service software.
- vFlow - star:589 高性能、可伸缩和可靠的 IPFIX、sFlow和 Netflow 收集器。
- wellington - star:288 Sass 项目管理工具,使用sprite函数(如Compass)扩展语言。
资源
在哪里可以找到新的Go库。
基准
- autobench - star:89 用来来比较不同Go版本之间的性能的框架。
- go-benchmark-app - star:19 强大的HTTP基准测试工具,包含了Аb,Wrk,Siege工具。收集统计和各种参数指标,并比较相关结果。
- go-benchmarks - star:119 Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches
- go-http-routing-benchmark - star:1255 HTTP请求路由器基准测试和比较。
- go-web-framework-benchmark - star:979 web框架基准测试。
- go_serialization_benchmarks - star:845 Go序列化方法的基准测试。
- gocostmodel - star:52 Go语言常用基本操作的基准测试。
- golang-micro-benchmarks - star:17 Go 基础操作的基准测试集合。其目的是将一些语言特性与其他特性进行比较。
- golang-sql-benchmark - star:48 为流行的 Go 数据库/SQL实用程序收集基准测试。
- gospeed - star:93 计算语言结构的速度的微观基准测试。
- kvbench - star:14 K / V 类型数据库基准测试。
- skynet - star:911 天网 1M 线程微基准测试。
- speedtest-resize - star:172 对比各种图像大小调整算法性能。
会议
- Capital Go - 华盛顿特区。,美国。
- dotGo - 巴黎,法国。
- GoCon - 东京,日本。
- GoDays - 德国柏林。
- GoLab - 佛罗伦萨,意大利。
- GolangUK - 伦敦,英国。
- GopherChina - 上海,中国。
- GopherCon - 美国丹佛。
- GopherCon Australia - 澳大利亚悉尼。
- GopherCon Brazil - 弗洛,BR。
- GopherCon Europe - 雷克雅未克,冰岛。
- GopherCon India - 印度浦那。
- GopherCon Israel - 特拉维夫,以色列。
- GopherCon Russia - 莫斯科,俄罗斯。
- GopherCon Singapore - 新加坡枫树商贸城。
- GopherCon Vietnam - 越南胡志明市。
- GothamGo - 美国纽约市。
- GoWayFest - 白俄罗斯明斯克。
E-Books
- A Go Developer's Notebook
- An Introduction to Programming in Go
- Build Web Application with Golang
- Building Web Apps With Go
- Go 101 - 一本关注 Go 语法/语义和各种细节的书。
- Go Bootcamp
- Go Succinctly - star:10 in Persian.
- GoBooks - star:6706 一份精选的 Go 书籍清单。
- Learning Go
- Network Programming With Go
- The Go Programming Language
- The Golang Standard Library by Example (Chinese)
- Web Application with Go the Anti-Textbook
- Writing A Compiler In Go
- Writing An Interpreter In Go
Gophers
- Free Gophers Pack - star:1470 由 Maria Letta 提供的与 Gopher 有关的图片包,其中包含了插图,表情文字。
- Go-gopher-Vector - star:32 与 Go gopher 相关的媒介数据[。ai . svg)。
- gopher-logos - star:62 可爱的 gopher 标识。
- gopher-stickers
- gopher-vector
- gophericons
- gopherize.me - star:314 Gopherize自己。
- gophers - star:1819 阿什莉·麦克纳马拉的歌斐艺术品。
- gophers - star:1555 Free gophers.
- gophers - star:50 随机gopher图形。
- gophers - star:41 Gopher amigurumi玩具图案。
聚会
- Basel Go Meetup
- Brisbane Gophers
- Canberra Gophers
- Go Language NYC
- Go London User Group
- Go Toronto
- Go User Group Atlanta
- GoBridge, San Francisco, CA
- GoJakarta
- Golang Amsterdam
- Golang Argentina
- Golang Baltimore, MD
- Golang Bangalore
- Golang Belo Horizonte - Brazil
- Golang Boston
- Golang Bulgaria
- Golang Cardiff, UK
- Golang Copenhagen
- Golang DC, Arlington, VA
- Golang Dorset, UK
- Golang Gurgaon, India
- Golang Hamburg - Germany
- Golang Israel
- Golang Joinville - Brazil
- Golang Korea
- Golang Lima - Peru
- Golang Lyon
- Golang Marseille
- Golang Melbourne
- Golang Mountain View
- Golang New York
- Golang Paris
- Golang Pune
- Golang Singapore
- Golang Stockholm
- Golang Sydney, AU
- Golang São Paulo - Brazil
- Golang Taipei
- Golang Vancouver, BC
- Golang Казань
- Golang Москва
- Golang Питер
- GoSF - San Francisco, CA
- Istanbul Golang
- Seattle Go Programmers
- Ukrainian Golang User Groups
- Utah Go User Group
- Women Who Go - San Francisco, CA
在这里添加您所在城市/国家的群组(发送PR)
网站
- Awesome Go @LibHunt - 属于你的 Go 工具箱。
- Awesome Remote Job - star:14416 Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
- awesome-awesomeness - star:24521 其他 awesome 系列的列表。
- CodinGame - 以小游戏互动完成任务的形式来学习 Go。
- Go Blog - 官方 Go 博客。
- Go Challenge - 通过解决问题并从 Go 专家那里得到反馈来学习 Go。
- Go Community on Hashnode - Hashnode上的Go社区。
- Go Forum - 讨论 Go 的论坛。
- Go In 5 Minutes - 5 minute screencasts focused on getting one thing done.
- Go Projects - wiki上的 Go 社区项目列表。
- Go Report Card - 为你的 Go 包生成一份报告单。
- gocryforhelp - star:35 专门收集需要帮助的Go项目,这是你开启开源之路的好去处。
- godoc.org - 开源 Go 包的文档。
- Golang Flow - 发布更新、新闻、包等等。
- Golang News - 关于 Go 编程的链接和新闻。
- golang-graphics - star:141 收藏的 Go 图像,图形和艺术作品。
- golang-nuts - Go 邮件列表。
- Google Plus Community - Google+社区 golang爱好者聚集地。
- Gopher Community Chat - 加入我们为Gophers设立的全新Slack社区(了解它是如何产生的)。
- Gophercises - 为 Go 初学者提供免费的代码训练。
- gowalker.org - Go API 文档。
- justforfunc - 致力于传授 Go 编程语言技巧和技巧的Youtube 频道,由Francesc Campoy @francesc主办。
- r/Golang - 与 Go 有关的新闻。
- studygolang - Go语言中文网
- Trending Go repositories on GitHub today - 寻找最新的 Go库 的好地方。
- TutorialEdge - Golang
教程
- 50 Shades of Go - Go 初学者经常遇到的陷阱、误区、错误
- A Guide to Golang E-Commerce - 教你如何用 Go 搭建一个电商平台 (包括demo)。
- A Tour of Go - 互动的 Go 之旅。
- Build web application with Golang - star:31060 Golang电子书,主要讲述如何用 Golang 建立一个web应用程序。
- Building Go Web Applications and Microservices Using Gin - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline.
- Caching Slow Database Queries - 如何缓存数据库的慢查询。
- Canceling MySQL - 如何取消MySQL查询。
- Ethereum Development with Go - star:442 一本讲述如何用 Go 进行以太开发的小册。
- Games With Go - 关于编程和游戏开发系列教学视频。
- Go By Example - 手把手教你 如何在 Go 应用程序中使用注释。
- Go Cheat Sheet - star:3982 Go's reference card。
- Go database/sql tutorial - 数据库概论/ sql。
- Go Playground for iOS - 在你的移动设备上编辑你编辑和运行你的 Go 代码。
- Go WebAssembly Tutorial - Building a Simple Calculator
- Golang for Node.js Developers - star:673 引入示例讲述 Golang 与Node.js在学习上的差异。
- Golangbot - Go 编程教程。
- Hackr.io - Go社区投票选举出来的最好的在线 Go 教程。
- How to Use Godog for Behavior-driven Development in Go - 快速使用Godog —— 一个行为驱动开发的构建和测试应用程序框架。
- Learn Go with TDD - star:4056 学习使用测试驱动开发。
- package main - 关于 Go 编程的YouTube频道。
- The world’s easiest introduction to WebAssembly with Golang
- Working with Go - star:1128 由一个经验丰富的Go程序员群体编写的一系列Go学习范例。
- Your basic Go - 如何收集大量的教程。