467 KiB
Awesome Go
此项目是 awesome-go 中文版,最后一次同步时间 : 2020-11-10 07:11:08(每隔1天同步一次)
精选了一系列很棒的Go框架、库和软件。灵感来自于awesome-python。
小图标说明 :
小图标 | 说明 |
---|---|
star > 2000 | |
最近一周有更新。可以基本判断当前库处于积极维护状态。 | |
最近一年没有更新。反应了此库的维护积极性不高,使用时需谨慎。 | |
此项目已归档,不再更新,使用时需谨慎。 | |
此项目有中文文档。 | |
godoc文档地址。 |
说明
We have no monthly cost, but we have employees working hard to maintain the Awesome Go, with money raised we can repay the effort of each person involved! All billing and distribution will be open to the entire community.
A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python. 你可以快速浏览贡献者名单contribution guidelines. 感谢所有为此项目付出的同学contributors; 你真棒!
贡献
如果您在看到一个包或项目不再维护或不适合,请往awesome-go提交Pull Request,本项目每隔一天与英文文档同步。感谢! Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!
如果您在这里看到一个包或项目不再维护或不适合,请提交一个pull request来改进此文件。谢谢你!!
内容
-
- 音频和音乐
- 身份验证和OAuth
- Bot建设
- 命令行
- 配置
- 持续集成
- CSS预处理器
- 数据结构
- 数据库
- 数据库驱动程序
- 日期和时间
- 分布式系统
- 动态域名
- 电子邮件
- 可嵌入的脚本语言
- 错误处理
- 文件处理
- 金融
- 表单
- 方法
- 游戏开发
- 代码生成与泛型
- 地理
- Go 编译器
- Goroutines
- GUI
- 硬件
- 图片
- 物联网
- 作业调度器
- JSON
- 日志记录
- 机器学习
- 消息
- 微软办公软件
- 杂项
- 自然语言处理
- 网络
- OpenGL
- ORM
- 包管理
- 性能
- 查询语言
- 嵌入的资源
- 科学与数据分析
- 安全
- 序列化
- 服务器应用程序
- 流处理
- 模板引擎
- 测试
- 文本处理
- Third-party APIs
- 公用事业公司
- UUID
- 验证
- 版本控制
- 视频
- Web框架
- WebAssembly
- Windows
- XML
音频和音乐
用于操作音频的库。 (翻译出错了? 试试 英文版 吧~)
- Oto star:694 多平台的 low-level 声音播放库。
- PortAudio star:406 基于 Go 的PortAudio audio I/O库。
- music-theory star:322 基于 Go 的音乐理论模型。
- waveform star:305 通过音频流生成波形图像的包。
- portmidi star:248 PortMidi的 Go 语言实现接口.
- id3v2 star:171 ID3解码和编码库为Go。
- flac star:138 原生 Go FLAC编码器/解码器,支持FLAC流。
- mix star:132 基于序列的 Go 原生音乐混音器。
- malgo star:127 迷你音频库。
- go-sox star:114 libsox 的 Go 语言实现接口。
- mp3 star:112 原生 Go MP3解码器。
- GoAudio star:88 本地Go音频处理库。
- gaad star:78 原生 Go AAC位流解析器。
- minimp3 star:52 轻量级MP3解码器库。
- vorbis star:28 “原生” Go Vorbis解码器(使用CGO,但没有依赖关系)。
- gosamplerate star:10 libsamplerate 的 Go 语言实现接口。
身份验证和OAuth
用于实现验证方案的库。 (翻译出错了? 试试 英文版 吧~)
- jwt-go star:8568 JSON Web令牌(JWT)。
- casbin star:8064 支持ACL、RBAC、ABAC等访问控制模型的授权库。
- oauth2 star:3179 goauth2的继任者。通用OAuth 2.0包,附带JWT、谷歌api、计算引擎和应用程序引擎支持。
- goth star:2936 提供了 OAuth 和 OAuth2 的简单清晰易用的方法。可开箱即用处理多个提供程序。
- authboss star:2426 web模块化认证系统。它试图删除尽可能多的模板文件和硬编码,以便每次新建一个新的web项目时,您都可以插入、配置并开始构建您的应用程序,而不必每次都构建一个身份验证系统。
- loginsrv star:1693 JWT登录微服务带有可插拔的后端服务,如OAuth2 (Github)、htpasswd、osiam。
- go-jose star:1668 相当完整地实现了JOSE工作组的JSON Web令牌、JSON Web签名和JSON Web加密规范。
- go-oauth2-server star:1641 用 Golang 编写的独立且符合规范的OAuth2服务器。
- osin star:1630 OAuth2服务器库。
- gologin star:1293 用于使用OAuth1和OAuth2身份验证提供者登录的可链处理程序。
- gorbac star:1106 轻量级的基于角色的访问控制(RBAC)实现。
- scs star:791 HTTP服务器的会话管理器。
- permissions2 star:410 用于跟踪用户、登录状态和权限的库。依赖于cookie安全和bcrypt。
- paseto star:402 平台无关的安全令牌(PASETO)。
- jwt star:229 轻量级JSON Web令牌库。
- jwt-auth star:198 JWT中间件,可用于Golang http服务器,提供了许多配置选项。
- httpauth star:197 HTTP身份验证中间件。
- jeff star:192 简单、灵活、安全和惯用的web会话管理,具有可配置化的后端。
- jwt star:175 安全、简单、快速的JSON Web令牌。
- branca star:138 基于 Go 实现Branca令牌。
- go-guardian star:122 Go-Guardian是一个golang库,它提供了一种简单、干净和习惯的方式来创建强大的现代API和web身份验证,支持LDAP、Basic、承载令牌和基于证书的身份验证。
- session star:104 web服务器会话管理(包括支持谷歌应用程序引擎 - GAE)。
- sessionup star:90 简单但有效的HTTP会话管理和标识包。
- jwt star:88 简单易用的JSON Web令牌实现(JWT)。
- sjwt star:73 简单的jwt生成器和解析器。
- rbac star:65 最小的RBAC包。
- sessions star:56 非常简单,高性能,可深度定制的会话服务,主要用于的 go http 服务器。
- securecookie star:40 高效安全的cookie编码/解码。
- sessiongate-go star:9 使用SessionGate Redis模块进行会话管理。
- go-email-normalizer star:8 Golang库,用于提供电子邮件地址的规范表示。
- otpgo star:8 基于时间的一次性密码(TOTP)和基于hmac的一次性密码(HOTP)库用于Go。
- scope star:6 在Go中轻松管理OAuth2范围。
- cookiestxt star:6 提供cookie .txt文件格式的解析器。
Bot建设
用于构建和使用机器人的库。 (翻译出错了? 试试 英文版 吧~)
- olivia star:2683 用人工神经网络建造的聊天机器人。
- telegram-bot-api star:2449 简单轻量级的Telegram bot客户端。
- telebot star:1513 用Go编写的Telegram bot框架。
- go-joe 一个通用的机器人库的灵感来自于Hubot,但写在围棋。
- go-chat-bot star:621 用 Go 编写的IRC, Slack和电报机器人。
- slacker star:465 可简单创建Slack机器人的框架。
- Kelp star:414 官方交易和做市机器人为Stellar DEX。开箱即用的作品,用 Golang 编写,兼容集中交易和定制交易策略。
- Golang CryptoTrading Bot star:350 基于控制台的,用于加密货币交易所的的交易机器人。
- tbot star:293 带有类似于net/http API的Telegram bot服务器。
- go-sarah star:182 此框架提供了聊天机器人相关的服务,包括LINE、Slack、Gitter等。
- Tenyks star:168 面向服务的IRC bot,使用Redis和JSON进行消息传递。
- go-twitch-irc star:136 Libary为twitch编写机器人程序。电视聊天
- hanu star:127 用于编写Slack机器人的框架。
- go-tgbot star:100 由swagger文件、基于会话的路由器和中间件生成的纯Golang Telegram Bot API包装器。
- margelet star:64 构建电报机器人的框架。
- slackscot star:35 另一个构建Slack机器人的框架。
- govkbot star:33 简单的Go VK bot库。
- ephemeral-roles star:33 用于管理基于语音通道成员存在的临时角色的不和机器人。
- micha star:18 基于 GO 实现的Telegram 机器人API库。
命令行
标准CLI
用于构建标准或基本命令行应用程序的库。 (翻译出错了? 试试 英文版 吧~)
- cobra star:19186 现代Go CLI命令行交互工具。
- urfave/cli star:14733 可让你简单、快速和愉快的构建命令行应用(之前是codegangsta/cli)。
- kingpin star:2949 支持子命令的命令行和标志解析器。
- Dnote star:1918 一个简单的命令行笔记本与多设备同步。
- go-flags star:1787 Go 命令行选项解析器。
- pflag star:1286 基于POSIX/GNU-style --flags实现的包,主要用于替换Go的falg包。
- mitchellh/cli star:1220 用于实现命令行接口的Go库。
- go-arg star:988 基于结构的参数解析。
- complete star:731 使用 Go 语言编写的 bash 命令补全工具以及 Go 命令补全工具.
- liner star:715 类似readline-like的命令行接口库。
- mow.cli star:704 用于构建具有复杂标志和参数解析和验证的CLI应用程序。
- flaggy star:684 一个健壮的、易用的标志包,具有出色的子命令支持。
- cli star:543 基于golang结构标签,功能丰富易于使用的命令行包。
- ops star:510 Unikernel 构建器/协调器。
- argparse star:247 命令行参数分析器,灵感来自Python的argparse模块。
- commandeer star:142 开发友好的CLI应用程序。
- wmenu star:125 为cli程序提供了简单上手的菜单,可提示用户作出选择。
- sflags star:120 基于结构的flag生成器,用于flag、urfave/cli、pflag、cobra、kingpin和其他库。
- flag star:106 简单但功能强大的命令行选项解析库,用于支持Go子命令。
- ukautz/clif star:105 简小的命令行接口框架。
- job star:89 工作,把你的短期指令当作长期任务。
- 1build star:80 命令行工具,以无摩擦地管理项目特定的命令。
- cli star:77 为 Go 构建命令接口提供简单而完整的API。
- climax Alternative CLI with "human face", in spirit of Go command.
- env star:68 基于标记的结构化的环境配置。
- gocmd star:45 用于构建命令行应用程序。
- hiboot cli 具有自动配置和依赖注入的cli应用程序框架。
- cmdr star:44 一个POSIX/GNU风格的、类似getopt的命令行UI Go库。
- wlog star:42 支持跨平台和并发的简单日志记录接口。
- clîr star:41 一个简单而清晰的CLI库。依赖免费的。
- strumt star:40 用于创建提示链。
- flagvar star:36 符合 Go 标准的“flag”标志参数类型包。
- go-getoptions star:29 Go 选择解析器,借鉴于Perl灵活性的GetOpt::Long。
- cmd star:28 扩展标准的' flag '包,以支持子命令和更多的idomatic方式。
- argv star:27 基于Base 语法,用于分隔命令行字符串并将其作为参数的 Go 语言库,
- go-commander star:20 用于简化CLI工作流的 Go 库。
- ts star:12 时间戳转换和比较工具。
- sand star:11 用于创建解释器等的简单API。
高级控制台用户界面
用于构建控制台应用程序和控制台用户界面的库。 (翻译出错了? 试试 英文版 吧~)
- termui star:10338 此库是基于termbox-go实现的,借鉴于blessed-contrib。
- gommon/color 更换终端文本样式。
- gocui star:6728 旨在创建控制台用户界面的极简Go库。
- termbox-go star:3889 基于文本的跨平台接口库。
- go-prompt star:3519 构建一个强大的交互式提示,借鉴于python-prompt-toolkit
- uiprogress star:1722 在终端呈现进度条,可灵活配置的。
- asciigraph star:1477 在命令行中构建轻量级ASCII线图╭┈╯,应用程序中没有其他依赖项。
- termdash star:1426 此库是基于termbox-go实现的,借鉴于termui。
- progressbar star:1413 基本线程安全的进度条,在每个操作系统工作。
- uilive star:1211 用于实时更新终端输出的库。
- mpb star:1121 可在终端显示多进度条。
- aurora star:973 支持fmt.Printf/Sprintf的ANSI终端颜色。
- uitable star:593 改善终端应用程序中表格数据的可读性。
- gookit/color star:577 终端显色工具库,支持16种颜色,256种颜色,RGB显色输出,兼容Windows。
- go-colorable star:476 适用于windows的颜色编写器。
- go-isatty star:450 Go 实现的 isatty。
- chalk star:353 美化终端/控制台输出。
- pterm star:317 一个在每个平台上使用许多可组合组件美化控制台输出的库。
- tabby star:271 一个可在终端生成一个极简Golang表格轻量级库
- simpletable star:270 可在终端显示简易表格。
- go-colortext star:205 在终端中使用彩色文字。
- yacspin star:111 用于与终端旋转器一起工作。
- cfmt star:77 提供上下文的fmt,灵感来自于bootstrap color classes。
- tabular star:46 不需要向API传递大量参数就可从命令行实用程序中打印ASCII表。
- ctc star:28 不需要Print方法的非侵入性跨平台终端颜色库。
- colourize star:21 在终端提供ANSI彩色文本。
- go-ataman star:9 在终端提供ANSI彩色文本模板。
- table star:1 为基于终端颜色的表的小库。
配置
配置解析的库。 (翻译出错了? 试试 英文版 吧~)
- viper star:13861 配置管理。
- godotenv star:3299 Ruby 的 dotenv 库的 Go移植版(从.env文件加载环境变量)。
- kelseyhightower/envconfig star:3286 管理来自环境变量的配置数据。
- ini star:2246 读和写INI文件。
- env star:1672 解析环境变量并赋值到struct中(默认值)。
- konfig star:583 可组合、可观察和高性能的分布式配置管理。
- confita star:329 从多个后端级联加载配置到struct中。
- store star:252 轻量级配置管理器。
- config star:251 云本地应用程序配置。将ENV绑定到结构体仅需两行代码。
- koanf star:240 轻量级可扩展库,用于读取Go应用程序中的配置。内置支持JSON, TOML, YAML, env,命令行。
- config star:234 带有环境变量和标记解析的JSON或YAML配置包装器。
- hjson star:217 更加人性化的JSON配置。轻松的语法,更少的错误,更多的注释。
- joshbetz/config star:203 一个可解析环境变量、JSON文件小巧的配置库,在SIGHUP时会自动重新加载。
- cleanenv star:185 简约的配置阅读器(来自文件、环境,以及你想要的任何地方)。
- envconfig star:180 从环境变量中读取配置。
- gookit/config star:178 程序配置管理(load,get,set)。支持JSON, YAML, TOML, INI, HCL。支持多文件加载,数据覆盖合并。
- goConfig star:142 将结构体解析为输入,并用来自命令行、环境变量和配置文件的参数填充该结构体的字段。
- gcfg star:137 将ini的配置文件读入 Go structs中;支持用户定义的类型和子选项。
- fig star:135 用于从文件和环境变量(带有验证和默认值)中读取配置的微型库。
- envh star:94 协助管理环境变量的Helpers。
- envcfg star:92 对环境变量进行解析,并赋值到struct。
- config star:87 一个轻量级但功能强大的配置包,用于Go项目。
- aconfig star:81 简单,有用和固执的配置加载程序。
- harvester star:70 一个易于使用的静态和动态配置包
- configuro star:67 固执己见的配置加载和验证框架从环境和文件集中到12因素兼容的应用程序。
- xdg star:60 遵循XDG标准的跨平台包。
- gofigure star:59 让程序配置变得简单。
- gone/jconf 模块化的JSON配置。保持配置结构及其配置的代码,并将解析委托给子模块,而不牺牲配置的完整序列化。
- configure star:55 通过多个源提供配置,包括JSON、flags和环境变量。
- go-aws-ssm star:38 从AWS系统管理器-参数存储中获取参数的Go包。
- configuration star:35 库,用于从环境变量、文件、标记和“默认”标记初始化配置结构。
- ingo star:32 flag保存在类ini的配置文件中。
- go-up star:29 一个简单的配置库,具有递归占位符解析功能。
- mini star:28 用于解析ini类型的配置文件。
- hocon star:19 使用HOCON(一种人类友好的JSON超集)格式的配置库,支持环境变量、引用其他值、注释和多个文件等特性。
- conflate star:18 合并来自任意url的多个JSON/YAML/TOML文件、针对JSON模式的验证以及模式中定义的默认值的应用程序。
- genv star:17 使用dotenv支持轻松读取环境变量。
- envconf star:10 从环境配置中读取配置。
- go-ssm-config star:8 从AWS SSM(参数存储)加载配置参数的Go实用程序。
- nasermirzaei89/env star:3 读取环境变量的简单有用的包。
- onion 基于层配置的Go,支持JSON, TOML, YAML,属性,etcd, env,和加密使用PGP。
- swap star:3 根据构建环境递归实例化/配置结构。(YAML, TOML, JSON和env)。
- go-ini star:2 一个对ini文件进行封送和解送的Go包。
- typenv star:2 简约,零依赖,类型化环境变量库。
持续集成
用于帮助进行持续集成的工具。 (翻译出错了? 试试 英文版 吧~)
- drone star:22012 Drone 是一个基于 Docker 的持续集成平台,用 Go 编写。
- CDS star:3142 企业级CI/CD和DevOps自动化开源平台。
- goveralls star:668 Coveralls.io 是一个用 Go 编写,可持续对代码覆盖率进行检测的系统。
- overalls star:105 针对多package 的 Go 语言项目,可为类似 goveralls 这样的工具生成覆盖率报告。
- duci star:59 一个简单的 ci 服务。
- gomason star:49 在一个干净的工作区中对你的 Go 二进制文件进行测试、构建、签名和发布。
- roveralls star:14 递归覆盖测试工具。
CSS预处理器
用于预处理CSS文件的库。 (翻译出错了? 试试 英文版 吧~)
- gcss star:438 纯Go编写的 CSS 预处理器。
- go-libsass star:164 采用 Go封装,100% 与 Sass 兼容的 libsass 项目。
数据结构
用 Go 实现的通用的数据结构和算法。 (翻译出错了? 试试 英文版 吧~)
- gods star:9089 数据结构。容器、集合、列表、堆栈、地图、BidiMaps、树、HashSet等。
- go-datastructures star:5785 可靠的、高性能的和线程安全的数据结构的集合。
- golang-set star:1687 线程安全和非线程安全的高性能集。
- gota star:1413 实现了数据帧,序列以及数据噪音。
- boomfilters star:1301 用于处理连续的概率数据结构。
- roaring star:1010 实现了压缩 bitsets 的Go包。
- willf/bloom star:900 实现Bloom过滤器。
- hyperloglog star:723 HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
- cuckoofilter star:697 布谷鸟过滤器:一个用Go实现,可替代计数 bloom 过滤器。
- bitset star:611 实现了 bitsets 的 Go 包。
- gocache star:536 一个完整的Go缓存库,具有多个存储(内存,memcache, redis,…),可链,可加载,指标缓存和更多。
- trie star:504 在Go中实现Trie。
- algorithms star:439 算法和数据结构。来源于CLRS。
- go-geoindex star:325 基于内存的地理索引。
- mafsa star:283 实现了 MA-FSA ,包含最小完美哈希。
- goskiplist star:219 基于 Go 的跳表实现。
- hilbert star:219 用于映射空间填充曲线(例如 Hilbert 曲线和 Peano 曲线)和数值。
- merkletree star:217 实现了merkle树,提供了对数据结构内容的有效和安全的验证。
- deque star:187 快速环缓冲区deque(双端队列)。
- ttlcache star:178 内存中的string-interface{}缓存各种基于时间的过期选项和回调。
- go-adaptive-radix-tree star:161 自适应基数树。
- binpacker star:156 帮助用户构建自定义二进制流的二进制封装器和解包器
- gostl star:150 用于go的数据结构和算法库,旨在提供类似c++ STL的函数。
- skiplist star:133 高性能的 Go 跳表实现。
- bloom star:133 在Go中实现了Bloom过滤器。
- iter star:128 Go实现的c++ STL迭代器和算法。
- ring star:111 高性能、线程安全的bloom过滤器。
- go-rquad star:111 区域四叉树具有高效的点定位和邻域查找功能。
- goconcurrentqueue star:108 并行FIFO队列。
- encoding star:103 整形压缩库。
- levenshtein star:102 实现在Go中计算levenshtein距离。
- go-edlib star:101 Go字符串比较和编辑距离算法库(Levenshtein, LCS, Hamming, Damerau Levenshtein, Jaro-Winkler等)兼容Unicode。
- bit star:95 Go 语言集合数据结构。提供了额外的位操作功能。
- conjungo star:90 一个小型、强大和灵活的合并库。
- skiplist star:71 在Go中实现了跳表。
- remember-go star:66 用于缓存慢速数据库查询的通用接口(支持redis、memcached、ristretto或in-memory)。
- go-mcache star:58 基于内存的实现了高性能的key:value存储库。指针缓存。
- bloom star:55 Golang Bloom过滤器的实现。
- count-min-log star:52 Go实现Count-Min-log sketch的功能 : 使用近似计数器进行近似计数(类似Count-Min sketch,但使用更少内存)。
- levenshtein star:51 Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
- crunch star:41 打包实现缓冲区,以便轻松处理各种数据类型。
- concurrent-writer star:29 具备高并发能力,可替换 bufio.Writer。
- goset star:27 一个有用的Go集合实现。
- hide star:27 ID type with marshalling to/from hash to prevent sending IDs to clients.
- pipeline star:26 实现了 fan-in 和 fan-out 的管道功能。
- nan star:26 一个库中的可零分配空结构,具有方便的转换函数、编组器和解组器。
- deque star:22 高度优化的双端队列。
- typ star:22 从复杂结构中获取值,支持空类型、安全的类型转换。
- go-ef star:16 实现了 Elias-Fano 编码。
- dict star:16 实现类似 python dict的功能(dict)。
- timedmap star:16 实现了有生命周期的键值对Map。
- null star:14 对空的 Go 数据类型也可以进行JSON进行解析/反解析。
- mspm star:11 用于信息检索的多字符串模式匹配算法。
- set star:11 使用LinkedHashMap在Go中实现简单的set数据结构。
- ptrie star:11 前缀树的一种实现。
- treap star:10 使用树堆进行持久、快速有序的映射。
- gofal star:9 基于 Go 实现的分数计算。包含分子、分母运算
- cmap star:5 一个线程安全的go map
- parsefields star:5 用于解析类似json的日志的工具,用于收集惟一的字段和事件。
- goterator star:2 迭代器实现,提供映射和减少功能。
数据库
数据库。 (翻译出错了? 试试 英文版 吧~)
- prometheus star:33756 用于监控系统和时序的数据库。
- tidb star:25615 TiDB是一个分布式SQL数据库。灵感来自谷歌F1的设计。
- influxdb star:19846 可伸缩的数据存储,用于指标衡量、事件和实时分析。
- cockroach star:19337 可伸缩、区域备份、事务性数据存储。
- dgraph star:14238 可伸缩、分布式、低延迟、高吞吐量的图形数据库。
- groupcache star:9330 Groupcache是一个缓存和缓存填充库,在许多情况下,它是memcached的替代品。
- badger star:8342 快速 K/V 存储。
- rqlite star:6294 基于SQLite的轻量级分布式关系数据库。
- BigCache star:4409 高效的键/值缓存为千兆字节的数据。
- go-cache star:4395 基于内存的 K/V 存储/缓存 : (类似于Memcached),适用于单机应用程序。
- goleveldb star:3973 在Go中实现LevelDB key/value数据库。
- bbolt star:3783 一个用于Go的嵌入式键/值数据库。
- ledisdb star:3449 Ledisdb是一种高性能的NoSQL,类似于基于LevelDB的Redis。
- VictoriaMetrics star:3177 开源,快速,可伸缩的时间序列数据库。支持PromQL。
- buntdb star:2966 基于内存的K/V,快速,可嵌入的数据库,可自定义索引和空间支持。
- tiedot star:2548 属于你的NoSQL数据库。
- nutsdb star:1408 Nutsdb是一个用纯Go编写的简单、快速、可嵌入、持久的键/值存储。它支持完全序列化的事务和许多数据结构,如列表、集合、排序集。
- cache2go star:1394 基于内存的 K/V 缓存,支持超时的自动失效。
- GCache star:1291 支持过期缓存、LFU、LRU和ARC的缓存库。
- CovenantSQL star:1097 区块链领域的一个SQL数据库。
- diskv star:974 支持磁盘备份的可持久化 K/V 存储。
- fastcache star:933 基于内存的快速线程安全的缓存,可缓存大量的条目。最大限度地减少GC开销。
- moss star:768 Moss是一个用100% Go编写的简单LSM键值存储引擎。
- pogreb star:658 针对大量读取工作负载的嵌入式键值存储。
- eliasdb star:595 无其他依赖项,支持REST API,短语搜索和sql类似的查询语言的事务图数据库。
- Bitcask star:513 Bitcask是一个可嵌入的、持久的、快速的键值(KV)数据库,使用纯Go编写,具有可预测的读写性能、低延迟和高吞吐量,这得益于Bitcask的磁盘布局(LSM+WAL)。
- levigo star:389 实现了对LevelDB封装。
- pudge star:277 使用Go的标准库编写的快速和简单的键/值存储。
- Vasto star:197 分布式高性能键值存储。可做磁盘备份。最终一致。高可用。能够在不中断服务的情况下增长或收缩。
- Kivik star:190 Kivik为CouchDB、PouchDB和类似的数据库提供了一个通用的Go和GopherJS客户端库。
- piladb star:181 基于堆栈数据结构的轻量级RESTful数据库引擎。
- Scribble star:109 小型平面文件JSON存储。
- slowpoke star:97 具有持久性的键值存储。
- Databunker star:90 个人身份信息(PII)存储服务符合GDPR和CCPA。
- cache star:67 基于内存的 K/V 存储:带生命周期的值存储,0个依赖项,<100 LoC, 100%覆盖率。
- bcache star:60 基于内存的最终一致的分布式缓存。
- couchcache star:49 由 Couchbase服务 支持的RESTful缓存微服务。
- unitdb star:43 快速timeseries数据库物联网,实时消息传递应用程序。使用pubsub通过tcp或websocket访问unitdb,使用github.com/unit-io/unitd应用程序。
- clusteredBigCache star:36 BigCache 支持集群和独立且生命周期存储项。
- Coffer star:22 支持事务的简单ACID键值数据库。
- tempdb star:14 用于临时数据存放的 K/V 存储。
数据库迁移。 (翻译出错了? 试试 英文版 吧~)
- migrate star:5286 基于CLI的数据库迁移库。
- sql-migrate star:1950 数据库迁移工具。允许使用go-bindata将迁移嵌入到应用程序中。
- goose star:1466 数据库迁移工具。您可以通过创建增量SQL或Go脚本来管理数据库的升级。
- skeema star:788 用于MySQL的纯sql模式管理系统,支持分片和外部在线模式更改工具。
- soda 数据库迁移、创建、ORM等。用于MySQL、PostgreSQL和SQLite。
- gormigrate star:520 面向Gorm ORM的数据库 schema 迁移辅助程序。
- darwin star:108 用于数据库 schema 升级的库。
- migrator star:105 非常简单的 Go 数据库迁移库。
- go-pg-migrations star:65 用Go -pg/pg编写的迁移包。
- gondolier star:31 使用结构修饰的数据库迁移库。
- pravasan star:24 简易的迁移工具-目前只支持MySQL,但计划很快支持Postgres, SQLite, MongoDB等。
- go-fixtures star:23 类似 Django fixture,用于 Go 建立内置数据库/sql库。
- avro star:16 发现SQL schemas并将其转换为AVRO schemas。
- schema star:6 库,用于将数据库/sql兼容数据库的模式迁移嵌入到Go二进制文件中。
数据库工具。 (翻译出错了? 试试 英文版 吧~)
- vitess star:10858 vitess提供了可以为大规模web服务扩展MySQL数据库提供便利的服务和工具。
- pgweb star:6644 基于web的PostgreSQL数据库浏览器。
- kingshard star:5430 kingshard 是基于 Golang 的MySQL高性能代理。
- orchestrator star:3817 MySQL复制拓扑管理器和可视化工具。
- go-mysql-elasticsearch star:3195 自动将MySQL数据同步到Elasticsearch中。
- go-mysql star:2688 Go 工具集,用于处理MySQL协议和复制。
- pREST star:2431 基于PostgreSQL database的RESTful API服务。
- chproxy star:494 ClickHouse数据库的HTTP代理。
- pg_timetable star:307 高级调度为PostgreSQL。
- clickhouse-bulk star:229 收集小的 insterts 并向 ClickHouse 服务器发送大请求。
- myreplication star:166 MySql二进制日志复制监听器。支持基于语句和行的复制。
- octillery star:97 用于数据库分表(支持每个ORM或原生SQL)。
- dbbench star:46 数据库基准测试工具,支持多个数据库和脚本。
- prep star:27 在不更改代码的情况下使用准备好的SQL语句。
- datagen star:27 一个快速的数据生成器,支持多表感知和多行DML。
- rwdb star:11 rwdb为多个数据库服务器的设置提供读取副本功能。
- bucket star:6 优化的数据结构框架的Couchbase专门针对一个桶的使用。
SQL查询生成器,用于构建和使用SQL的库。 (翻译出错了? 试试 英文版 吧~)
- Squirrel star:3423 帮助您构建SQL查询的Go库。
- xo star:2598 基于现有的schema定义和自定义查询生成 Go 代码,基于支持PostgreSQL、MySQL、SQLite、Oracle和Microsoft SQL Server。
- gendry star:1105 非入侵的SQL构建器和强大的数据绑定器。
- goqu star:893 常用的SQL生成器和查询库。
- Dotsql star:556 Go library帮助您将sql文件保存在一个地方,并轻松地使用它们。
- ozzo-dbx star:506 Powerful data retrieval methods as well as DB-agnostic query building capabilities.
- jet star:323 用于在Go中编写类型安全的SQL查询的框架,能够轻松地将数据库查询结果转换为所需的任意对象结构。
- dbq star:242 Zero boilerplate database operations for Go
- Squalus Go SQL中间层,能使得执行查询更加容易。
- sqrl star:213 SQL查询生成器,从Squirrel fork而来,并再此基础上对性能做了优化。
- sqlingo star:95 在Go中构建SQL的轻量级DSL。
- sq star:90 用于Go的类型安全的SQL生成器和结构映射器。
- igor star:82 PostgreSQL的抽象层,支持高级功能和类似gorm的语法。
- godbal star:51 数据库抽象层(dbal)。支持SQL builder,轻松获取结果。
- buildsqlx star:20 去数据库查询生成器库的PostgreSQL。
- qry star:18 该工具使用原始SQL查询从文件生成常量。
- sqlf star:15 快速SQL查询生成器。
- gosql star:11 支持更好的空值的SQL查询生成器。
- mpath star:6 MPTT(修改前序树遍历)包的SQL记录-物化路径实现。
- ormlite 包含一些类似orm的特性和sqlite数据库的辅助程序的轻量级包
数据库驱动程序
用于连接和操作数据库的库。 (翻译出错了? 试试 英文版 吧~)
-
Relational Databases
- go-sql-driver/mysql star:10146 MySQL驱动程序。
- pq star:6211 纯 Go 的Postgres驱动。
- go-sqlite3 star:4408 SQLite3驱动程序。
- pgx star:3400 PostgreSQL驱动,支持比现有database/sql更多的特性。
- go-mssqldb star:1287 微软MSSQL驱动程序。
- go-oci8 star:506 Oracle 驱动程序。
- goracle star:283 基于 ODPI-C 的 Oracle 驱动程序
- firebirdsql star:135 Firebird RDBMS SQL驱动程序。
- go-adodb star:114 Microsoft ActiveX对象数据库驱动程序。
- gofreetds star:100 基于FreeTDS封装的微软MSSQL Go 驱动。
- avatica star:58 Apache Avatica/Phoenix SQL驱动程序。
- Sqinn-Go star:20 SQLite with pure Go.
- bgc star:15 BigQuery 的数据存储连接。
-
NoSQL Databases
- redis star:10021 基于 Go 的 Redis 客户端。
- redigo star:7936 Redigo 是基于 Go 的Redis 客户端。
- mongo-go-driver star:5030 官方的 MongoDB 驱动。
- mgo star:1842 (已停止维护) MongoDB驱动。
- gorethink star:1540 RethinkDB 驱动。
- redeo star:383 与 redis 协议兼容的 TCP 服务器/服务。
- neoism star:371 Golang 的 Neo4j 客户端。
- aerospike-client-go star:347 Aerospike 客户端。
- gocb star:318 官方Couchbase Go SDK。
- gocql Apache Cassandra 的 Go 驱动。
- qmgo star:310 MongoDB司机走了。它是基于官方MongoDB司机但更容易使用像分别。
- go-couchbase star:307 Couchbase客户端。
- mgm star:202 基于MongoDB模型的ODM for Go(基于官方MongoDB驱动)。
- go-rejson star:143 实现了基于 Redigo 客户端的redislabs' ReJSON 模块。可简单地将结构体存储为JSON对象并对其进行操作。
- godis star:84 由GoLang实现的redis客户端,灵感来自jedis。
- Neo4j-GO star:76 Neo4j REST 客户端。
- dynago star:72 满足 principle of least surprise 的 DynamoDB 客户端。
- arangolite star:68 轻量级的 ArangoDB 驱动。
- go-pilosa star:41 Pilosa客户端。
- forestdb star:29 基于 Go 的 ForestDB 接口实现。
- neo4j star:26 Neo4j Rest API实现。
- goriak star:26 Riak KV 驱动。
- xredis star:13 类型安全,可定制,清晰和易用的Redis客户端。
- gomemcache memcache客户端库。
- godscache star:7 谷歌云平台Go Datastore包的封装,它采用了memcached添加缓存。
- asc star:6 Aerospike 的数据存储连接器。
-
Search and Analytic Databases.
- bleve star:7026 基于 Go 的现代文本索引库。
- riot star:5479 基于 Go 的 开源、分布式、简单高效的搜索引擎。
- elastic star:5464 Elasticsearch 客户端。
- go-elasticsearch star:2912 官方 Elasticsearch 客户端。
- elastigo star:948 Elasticsearch 客户端。
- elasticsql star:613 将 SQL 转换为 elasticsearch dsl。
- skizze star:75 面向概率数据结构的服务和存储。
- goes star:24 实现了与 Elasticsearch 交互的库。
-
Multiple Backends.
日期和时间
用于处理日期和时间的库。 (翻译出错了? 试试 英文版 吧~)
- now star:2794 now 是时间有关的工具类。
- dateparse star:1156 可以解析很多格式不固定的日期字符串。
- carbon star:510 简单的时间扩展,包含了许多使用方法,从 PHP Carbon 库移植的。
- durafmt star:324 轻量级、可让time.Duration更加易读的库。
- timeutil star:184 面向 Golang 的时间库,集成了很多有用的扩展(Timedelta, Strftime, ...)。
- go-persian-calendar star:87 太阳历实现。
- iso8601 star:81 不用正则表达式有效解析 ISO8601 日期时间。
- timespan star:74 用于处理时间间隔相关的库,可定义开始时间和持续时间。
- date star:51 增加处理日期、日期范围、时间跨度、时间段和time-of-day。
- feiertage star:34 用于计算德国公共假期的函数,比如复活节、感恩节等
- go-sunrise star:28 计算指定位置的日出和日落时间。
- kair star:17 用于处理日期和时间的 golang 库。
- go-str2duration star:14 将字符串转换为持续时间。支持的时间。持续时间返回字符串等。
- NullTime star:11 可以允许 time.Time 为null。
- tuesday star:9 Ruby-compatible Strftime function。
- strftime star:6 C99-compatible strftime formatter。
- cronrange star:6 解析cron风格的时间范围表达式,检查给定的时间是否在任何范围内。
- go-week star:4 一个有效的软件包,以配合ISO8601周日期。
分布式系统
协助构建分布式系统的包。 (翻译出错了? 试试 英文版 吧~)
- go-kit star:18491 支持服务发现、负载平衡、插件式传输、请求跟踪等功能的Microservice toolkit。
- go-micro star:14725 分布式系统开发框架。
- grpc-go star:12519 gRPC的Go语言实现。
- micro star:8719 一个分布式系统运行时,用于云及其他。
- NATS star:8466 轻量级、高性能消息传递系统,可用于微服务、物联网(IoT)和云。
- rpcx star:5166 分布式可插拔的RPC服务框架,如阿里巴巴Dubbo。
- raft Raft consensus协议的实现。 by CoreOS。
- raft star:4045 Raft consensus协议的实现。 by HashiCorp。
- tendermint star:3782 一个高性能中间件,可将任何语言的状态机转换为 Byzantine Fault 状态机。使用 Tendermint 一致性及区块链协议。
- torrent star:3646 BitTorrent 客户端。
- dragonboat star:3312 一个功能齐全,高性能的库集。
- KrakenD star:3277 具有中间件的高性能API网关框架。
- glow star:2882 全部用 Go 实现,易用、可伸缩,可用于分布式大数据处理,Map-Reduce, DAG执行。
- gleam star:2651 使用纯Go和Luajit编写的快速、可伸缩的分布式map/reduce系统,结合了Go的高并发性和Luajit的高性能,可以独立运行或分布式运行。
- emitter-io star:2603 高性能、分布式、安全和低延迟的发布-订阅平台,使用MQTT、Websockets和love构建。
- liftbridge star:1927 用于nat的轻量级、容错的消息流。
- hprose star:1119 支持25+种语言RPC库。
- ringpop-go star:644 可伸缩的,容错、应用分层的的Go应用程序。
- gorpc star:615 简单、快速和可伸缩的RPC库。
- go-health star:574 用于在服务中启用异步依赖项健康检查的库。
- rain star:534 BitTorrent客户端和库。
- dot 基于 transformation/OT 的分布式同步。
- digota star:359 基于 grpc 的电子商务微服务。
- go-sundheit star:333 为支持为golang服务定义异步服务健康检查而构建的库。
- consistent star:329 Consistent hashing with bounded loads。
- sleuth star:325 用于HTTP服务之间进行无中心p2p自动发现和RPC通信的库(使用ZeroMQ)。
- go-jump star:305 提供了谷歌的 “Jump” 一致哈希函数接口。
- resgate 用于构建REST、实时和RPC API的实时API网关,其中所有客户端都是无缝同步的。
- redis-lock star:246 基于redis的分布式锁简易实现。
- dht star:176 BitTorrent Kademlia DHT的实现。
- jsonrpc star:143 JSON-RPC 2.0 HTTP客户端。
- jsonrpc star:134 jsonrpc 包,实现了 JSON-RPC 2.0。
- celeriac star:61 用于对 Celery worker、任务、事件进行交互和监控的库。
- doublejump star:56 实现了谷歌的jump consistent hash。
- Semaphore star:45 简单的(微)服务协调器。
- arpc star:43 更有效的网络通信,支持双向呼叫、通知、广播。
- pglock postgresql 的分布式锁定实现。
- outboxer star:40 实现了 outbox pattern Go 库。
- flowgraph star:37 flow-based programming package。
- drmaa star:29 符合 DRMAA 标准的集群调度程序作业提交库。
- dynamolock DynamoDB-backed 分布式锁定实现。
- go-pdu star:22 一个去中心化的基于身份的社交网络。
- dynatomic star:12 基于 DynamoDB 的 原子计数器的库。
- go-mysql-lock star:11 基于MySQL分布式锁。
- gmsec star:6 一个Go分布式系统开发框架。
- consistenthash star:5 使用可配置副本的一致哈希。
动态域名
更新动态DNS记录的工具。 (翻译出错了? 试试 英文版 吧~)
- GoDNS star:687 一个动态DNS客户端工具,支持DNSPod & HE.net。
- DDNS star:165 个人 DDNS 客户端。
- dyndns 后台去处理定期和自动检查您的IP地址,并作出更新(一个或多个)动态DNS记录,为谷歌域,每当您的地址变化。
电子邮件
实现了电子邮件创建和发送。 (翻译出错了? 试试 英文版 吧~)
- MailHog star:7231 电子邮件和SMTP测试工具,对外提供了 web 和 API 接口。
- hermes star:2104 可生成干净的、响应式的HTML电子邮件。
- email star:1545 一个强大和灵活的电子邮件库。
- go-imap star:1129 用于客户端和服务器的IMAP库。
- chasquid 用Go编写的SMTP服务器。
- SendGrid star:673 SendGrid 的 Go语言库,用于发送电子邮件。
- mailgun-go star:485 使用Mailgun API去库发送邮件。
- Hectane star:190 轻量级的SMTP客户机,提供了HTTP API。
- douceur star:186 在HTML邮件中支持CSS内联。
- go-message star:174 用于Internet消息格式化和邮件消息的流媒体库。
- mailchain star:64 发送加密的电子邮件到区块链地址写在Go。
- go-dkim star:63 DKIM库,用于签署 & 验证电子邮件。
- go-simple-mail star:63 非常简单的包发送电子邮件与SMTP保持活动和两个超时:连接和发送。
- go-premailer star:62 在HTML邮件中支持CSS内联。
- smtp star:58 SMTP服务器协议状态机。
可嵌入的脚本语言
在go代码中嵌入其他语言。 (翻译出错了? 试试 英文版 吧~)
- gopher-lua star:3788 用 Go 实现的 Lua 5.1 虚拟机和编译器。
- tengo star:2054 字节码编译的脚本语言。
- go-lua star:1943 用 Go 实现的 Lua 5.2 VM接口。
- goja star:1820 ECMAScript 5.1(+)实现在Go。
- expr star:1492 Go的表达式计算引擎:快速,非图灵完备,动态类型,静态类型。
- go-python star:1159 CPython C-API 的 Go 接口。
- anko star:1070 用Go编写的解释器。
- go-php star:769 PHP 的 Go 接口。
- go-duktape star:730 支持 Duktape JavaScript 引擎。
- cel-go star:583 快速,可移植,非图灵完整的表达评估与渐进分型。
- golua star:490 Lua C 的 Go 接口。
- gisp star:440 LISP 的 Go 接口。
- gval star:249 一种用Go编写的高度可定制的表达式语言。
- gentee star:59 嵌入式脚本编程语言。
- binder star:45 Lua接口,基于gopher-lua。
- purl star:30 嵌入 Go 的 Perl 5.18.2。
- ngaro star:20 嵌入式 Ngaro VM实现,支持在 Retro 中运行脚本。
错误处理
处理错误的库。 (翻译出错了? 试试 英文版 吧~)
- errors star:6187 可让你很简单的进行错误处理。
- go-multierror star:1038 可将一系列的错误作为一个整体来显示。
- eris star:688 在Go中处理、跟踪和记录错误的更好方法。兼容标准错误库和github.com/pkg/errors。
- errorx star:655 一个功能丰富的错误包,可进行堆栈跟踪、组装异常信息以及其他。
- tracerr star:632 可展示错误的堆栈跟踪信息和源码片段。
- errlog star:371 用于定位抛出错误的源代码(以及一些其他快速调试特性)。可插入到任何 logger 的位置。
- emperror star:180 用于Go库和应用程序的错误处理工具和最佳实践。
- errors star:85 替换标准库错误包和github.com/pkg/errors。提供各种错误处理原语。
- errors star:12 这是一个最小的错误处理包,自定义错误类型,用户友好的消息,Unwrap & is。与非常容易使用和直接的帮助函数。
- Falcon star:6 一个简单但功能强大的错误处理包。
- errors star:3 使用分类原语进行简单的golang错误处理。
- errors star:2 最简单的错误包装器,具有出色的性能和最小的内存开销。
文件处理
处理文件和文件系统的库。 (翻译出错了? 试试 英文版 吧~)
- afero star:3301 文件系统的抽象系统。
- pdfcpu star:1755 PDF处理器。
- notify star:585 文件系统事件通知库,具有类似于os/signal的简单API,。
- copy star:209 递归地复制目录。
- bigfile star:166 一个文件传输系统,支持管理文件与http api, rpc调用和ftp客户端。
- afs star:83 用于Go的抽象文件存储(mem、scp、zip、tar、cloud: s3、gs)。
- go-csv-tag star:75 使用 tag 加载 csv 文件。
- vfs star:66 一组可插拔的、可扩展的和自定义的文件系统功能,用于跨越许多文件系统类型,如os、S3和GCS。
- opc star:65 加载Open Packaging Conventions (OPC)文件。
- skywalker star:59 可以轻松地并发地遍历文件系统。
- stl 采用并行读取算法的进行读取和写入STL(立体光刻)文件的模块。
- tarfs star:43 tar文件的实现 FileSystem 接口。
- go-exiftool star:42 ExifTool 的 Go 实现,这个著名的库用于从文件(图片、PDF、office,…)中提取尽可能多的元数据(EXIF、IPTC,…)。
- checksum star:27 生成大型文件的消息摘要(如 MD5 和 SHA256)。
- go-gtfs star:24 加载gtfs文件。
- flop star:18 文件操作库,是GNU cp的镜像。
- go-decent-copy star:14 拷贝文件。
- gut/yos star:13 简单和可靠的包文件操作,如复制/移动/diff/列表的文件,目录和符号链接。
- baraka star:12 一个轻松处理http文件上传的库。
- parquet star:7 读写parquet文件。
金融
会计和财务软件包。 (翻译出错了? 试试 英文版 吧~)
- decimal star:2540 任意精度定点的十进制数。
- go-money star:840 Fowler 货币模式的实现。
- accounting star:597 货币和货币格式。
- go-finance star:536 综合金融市场数据。
- techan star:325 拥有先进的市场分析和交易策略的技术分析库。
- currency star:213 处理货币金额,提供货币信息和格式。
- orderbook star:158 限购单匹配引擎。
- go-finance star:81 用于货币时间价值(年金)、现金流、利率转换、债券和折旧计算的金融函数库。
- vat star:79 增值税编号验证 & 欧盟增值税税率。
- ofxgo star:78 查询 OFX 服务器和/或解析响应。
- transaction star:77 嵌入式事务数据库,可多线程模式运行。
- go-finnhub star:43 来自finnhu .io的股票市场、外汇和密码数据客户。从60多个证券交易所、10个外汇经纪人和15多个密码交易所获取实时金融市场数据。
- currency star:33 高性能、准确的货币计算软件包。
- fastme star:15 快速可扩展匹配引擎Go实现。
- go-finance star:3 模块获取汇率,通过VIES检查增值税号码,检查IBAN银行账号。
表单
用于处理表单的库。 (翻译出错了? 试试 英文版 吧~)
- nosurf star:1100 CSRF保护中间件。
- binding star:782 将来自 net/HTTP 请求的表单、JSON 数据绑定到结构体。
- gorilla/csrf star:596 用于Go web应用程序和服务的CSRF保护。
- form star:431 将 url 中的数据解析到 Go 变量中,以及将 Go 语言变量编码进 url。支持 Dual Array 及 Full map。
- conform star:206 控制用户输入。基于struct tags可对数据进行修剪、清理和擦除。
- formam star:153 将表单的值解码为 struct。
- forms star:112 与框架无关的库,用于解析和验证支持多部分表单和文件的表单/JSON数据。
- qs star:47 去模块编码结构到URL查询参数。
- bind star:25 将表单数据与任意 Go 变量进行绑定。
- queryparam star:7 解码的url。值转换为标准或自定义类型的可用结构值。
方法
在Go中支持函数式编程的包。 (翻译出错了? 试试 英文版 吧~)
- go-underscore star:1170 常用辅助方法集合。
- fpGo star:156 提供函数式编程功能。
- fuego star:71 Functional Experiment in Go。
游戏开发
很棒的游戏开发库。 (翻译出错了? 试试 英文版 吧~)
- Leaf star:3734 轻量级游戏服务器框架。
- Ebiten star:3587 很简单的 2D 游戏库。
- Pixel star:3210 手工制作的 2D 游戏库。
- goworld star:1664 可伸缩的游戏服务器引擎,具有 space-entity 框架和 hot-swapping 功能。
- nano star:1454 轻量级、方便、高性能的基于golang的游戏服务器框架。
- go-sdl2 star:1428 实现了Simple DirectMedia Layer。
- engo star:1285 开源 2D 游戏引擎。它遵循 Entity-Component-System 范式。
- g3n star:1236 3D游戏引擎。
- termloop star:1165 基于终端的 Go 游戏引擎,建立在 Termbox 之上。
- gonet star:1113 实现了游戏服务器骨架。
- Oak star:799 纯 Go 实现的游戏引擎。
- Pitaya star:794 可伸缩的游戏服务器框架,支持集群和客户端库的iOS, Android, Unity。
- raylib-go star:538 实现了 raylib,一个简单易用的库,用于学习视频游戏编程。
- Azul3D star:458 用Go编写的 3D 游戏引擎。
- go-astar star:390 实现了A*路径查找算法。
- go3d star:183 以性能为主的2D/3D数学相关包。
- prototype star:39 跨平台(Windows/Linux/Mac)库,用于使用最少的API创建桌面游戏。
- tile star:7 面向数据和缓存友好的2D网格库(TileMap),包括寻路、观察者和导入/导出。
代码生成与泛型
增强语言的工具,例如通过代码生成支持泛型。 (翻译出错了? 试试 英文版 吧~)
- go-linq star:2272 提供类似 .NET LINQ 的查询方法。
- jennifer star:1730 不使用模板生成任意 Go 代码。
- gen star:1147 用于生成泛型等类似方法的功能代码生成工具。
- goderive star:828 从输入类型来派生函数。
- GoWrap star:412 使用简单模板为 Go 接口生成装饰器。
- interfaces star:245 用于生成接口定义的命令行工具。
- go-enum star:139 从代码注释中生成枚举。
- pkgreflect star:93 用于包作用域反射的 Go 预处理器。
- efaceconv star:46 代码生成工具,可以不通过内存分配就可以高效的将interface{}转换为不可变类型,。
- gotype star:33 Golang 源码解析,用法类似reflect(反射)。
- generis star:21 提供泛型、free-form 宏、条件编译和HTML模板的代码生成工具。
- go-xray star:15 帮助更容易地使用反射。
- typeregistry star:5 动态创建类型的库。
地理
地理工具和服务器 (翻译出错了? 试试 英文版 吧~)
- Tile38 star:7108 具有空间索引和实时地理定位功能的地理定位数据库。
- S2 geometry star:1121 S2 geometry 库。
- mbtileserver star:185 一个简单的基于go的服务器,用于存储mbtiles格式的地图块。
- osm star:136 用于读取、写入和处理 OpenStreetMap 数据和 APIs。
- geocache star:128 基于内存缓存的的地理位置的应用程序。
- WGS84 star:55 坐标转换和转换库(ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)。
- geoserver star:41 基于geoserver REST API的 geoserver 实例。
- gismanager star:33 将你的 GIS 数据(矢量数据)发布到 PostGIS 和 Geoserver。
- pbf star:23 基于Golang 的 OpenStreetMap PBF 编码器/解码器。
- S2 geojson star:8 将geojson转换为s2单元格&在map上演示一些s2的几何特性。
Go 编译器
可将 Go 转换为其他语言的编译工具。 (翻译出错了? 试试 英文版 吧~)
- gopherjs star:9715 将 Go 编译成 JavaScript。
- llgo star:1092 基于 llvm 的编译器。
- tardisgo star:402 Golang 转换为 Haxe,再转换为 CPP/CSharp/Java/JavaScript 的编译器.
- c4go star:234 将 C 代码转换为 Go 代码。
- f4go star:24 将 FORTRAN 77 转换为 Go代码。
Goroutines
管理和处理 Goroutines 的工具。 (翻译出错了? 试试 英文版 吧~)
- ants star:4435 一个高性能且低损耗的 goroutine 池。
- goworker star:2479 基于 go 的后台 worker。
- tunny star:1763 golang 的协程池。
- grpool star:590 轻量级协程池。
- pool star:582 有限消费者协程或无限协程池,可用于更加简单的处理和取消协程
- workerpool star:395 限制任务执行并发数,而不是队列中的任务数量的协程池,。
- gowp star:239 gowp是高并发性限制异步工作池。
- go-floc star:184 轻松编排 goroutines。
- go-flow star:146 控制 goroutines 的执行顺序。
- pond star:103 简约和高性能的goroutine工作池写在Go。
- semaphore star:95 基于 CAS 的可快速调整的信号量实现(比基于通道的信号量实现更快)。
- artifex star:88 简单的内存作业队列。
- semaphore star:83 信号量模式实现,可根据通道和上下文进行具备超时功能的锁定/解锁操作。
- breaker star:81 灵活的机制,可以使执行流可中断。
- gpool star:69 manages a resizeable pool of context-aware goroutines to bound concurrency
- worker-pool star:67 一个简单的 Go 异步工作池。
- async star:60 一种异步执行函数的安全方法,在出现 panic 时恢复它们。
- threadpool star:48 Golang 的 threadpool 实现。
- cyclicbarrier star:46 基于 Go 的 CyclicBarrier 实现。
- neilotoole/errgroup star:43 “sync/errgroup”的替代方案,仅限于N个worker goroutines池。
- routine star:35 go routine control with context, support: Main, Go, Pool and some useful Executors.
- gollback star:34 异步简单的函数实用程序,用于管理闭包和回调的执行。
- Hunch star:31 Hunch 提供了诸如 All、First、Retry、Waterfall 等功能,这使得异步流控制更加直观。
- parallel-fn star:28 并行运行函数。
- kyoo star:28 提供无限的作业队列和并发工作池。
- goccm star:17 Go并发管理器包限制了允许并发运行的goroutines的数量。
- stl star:17 基于软件事务内存(STM)并发控制机制的软件事务锁。
- nursery star:15 Go中的结构化并发。
- oversight 完整的实现了Erlang supervision trees。
- go-waitgroup star:14 像“同步。有错误处理和并发控制。
- gohive star:13 一个高性能和易于使用的Goroutine池去。
- go-trylock star:12 支持 read-write 锁。
- conexec star:9 一个并发工具包,帮助以高效和安全的方式并发执行函数。它支持指定总体超时来避免阻塞,并使用goroutine池来提高效率。
- queue star:9 提供类似队列组可访问性 sync.WaitGroup 的功能。帮助你节流和限制协程、等待所有协程结束以及更多功能。
- go-tools/multithreading star:5 轻量级的协程池库,可以通过简单的API来管理。
- hands star:4 进程控制器,用于控制多个goroutine的执行和返回策略。
- channelify star:4 将函数转换为返回通道,以便进行简单而强大的并行处理。
GUI
用于构建GUI应用程序的库。 (翻译出错了? 试试 英文版 吧~)
工具包 (翻译出错了? 试试 英文版 吧~)
- fyne star:11158 基于材料设计的Go跨平台本机gui设计。支持:Linux, macOS, Windows, BSD, iOS和Android。
- qt star:7936 实现了 Qt 的 Go接口(支持Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。
- ui star:7705 跨平台的 Platform-native GUI 库。
- Wails Mac, Windows, Linux桌面应用程序,主要基于含有内置的OS HTML渲染器的HTML UI。
- webview star:7075 跨平台webview窗口,具有简单的双向JavaScript绑定(Windows / macOS / Linux)。
- walk star:4948 Windows应用程序库。
- app star:4119 用于创建包含了 GO, HTML 和 CSS 的应用程序。支持 MacOS, Windows 正在开发中。
- go-astilectron star:3486 使用 GO 和 HTML/JS/CSS (电子驱动)进行构建跨平台 GUI 应用程序。
- go-gtk 实现了 GTK 的 Go接口。
- go-sciter star:1902 实现了 Sciter 的 Go 接口 : 用于现代桌面 UI 开发的可嵌入HTML/CSS/脚本引擎。可跨平台。
- gotk3 star:1292 实现了 GTK3 的 Go接口。
- gowd star:282 跨平台、快速、简单的桌面UI开发,采用了GO, HTML, CSS和NW.js实现。
交互 (翻译出错了? 试试 英文版 吧~)
- robotgo star:6211 实现跨平台的GUI系统自动化。包含了控制鼠标、键盘等功能。
- systray star:1521 跨平台 Go 库,可在通知区放置图标和菜单。
- gosx-notifier star:532 OSX 桌面通知库。
- trayhost star:195 跨平台 Go 库,可用于在主机操作系统的任务栏中放置图标。
- go-appindicator star:13 实现了 libappindicator3 C库 的 Go接口。
- mac-activity-tracker star:8 用于通知计算机上的任何(可插入的)活动的 OSX 库。
- mac-sleep-notifier star:7 OSX 睡眠/唤醒通知。
硬件
硬件交互相关的库、工具和教程。 (翻译出错了? 试试 英文版 吧~)
See go-hardware for a comprehensive list.
图片
图像处理相关的库。 (翻译出错了? 试试 英文版 吧~)
- gocv star:3624 使用OpenCV 3.3+实现的计算机视觉(ComputerVision)的Go语言包。
- imaging star:3346 简单的Go图像处理包。
- imaginary star:3343 用于图像大小调整的快速、简单的HTTP微服务。
- bild star:2967 纯Go语言实现的图像处理算法合集。
- ln star:2759 Go实现的3D线艺术(3D Line Art)渲染。
- resize star:2487 Go实现的使用常用的插值法(interpolation methods)调整图像大小的库。
- gg star:2460 纯Go语言实现的2D渲染。
- pt star:1891 Go实现的路径跟踪(path tracing)引擎。
- svgo star:1557 Go实现的SVG生成库。
- smartcrop star:1416 为任意图片寻找合适的位置进行图片裁剪。
- gift star:1377 图像处理包。
- picfit star:1348 Go实现的图像调整服务器。
- bimg star:1243 使用libvips实现的快速高效的图像处理包。
- imagick star:1228 ImageMagick下MagickWand的C API的Go binding。
- go-opencv star:1207 OpenCV库的Go bindings。
- geopattern star:1092 由字符串创建漂亮图案的图片生成器。
- stegify star:891 Go实现的LSB隐写(LSB steganography),能够隐藏任何文件到一个图像中。
- canvas star:538 矢量图形到PDF, SVG或光栅图像。
- draft star:463 使用简单的YAML语法为GraphViz生成高级微服务架构图。
- image2ascii star:448 将图像转换为ASCII码。
- mort star:411 Go语言实现的图像存储和处理服务器。
- govatar star:393 生成有趣头像的库和CMD工具。
- goimagehash star:351 图像哈希处理的Go语言包。
- go-nude star:319 Go语言实现的裸照检测工具。
- rez star:201 纯Go语言和SIMD实现的图像大小调整。
- darkroom star:145 An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
- img star:137 图像处理工具的集合。
- mergi star:119 用于图像处理(合并、裁剪、调整大小、水印、动画)的工具和Go库。
- go-cairo star:96 cairo图形库的Go binding。
- gltf star:82 一个高效、健壮的glTF 2.0文件读取、写入和验证器。
- steganography star:80 纯Go实现的LSB隐写(LSB steganography)的库。
- cameron star:61 一个Go语言的头像生成器。
- go-gd star:52 GD库的Go binding。
- goimghdr star:36 Go语言实现的imghdr模块用于确定文件的图像类型。
- gridder star:33 一个基于网格的2D图形库。
- tga star:26 tga包是一个TARGA图像的解码、编码器。
- go-webcolors star:25 Python下webcolors库的Go语言调用。
- mpo star:6 MPO三维照片的解码和转换工具。
物联网
物联网设备编程库。 (翻译出错了? 试试 英文版 吧~)
- flogo star:1608 Flogo是一个面向物联网边缘应用和集成的开源框架。
- mainflux star:1087 工业物联网消息和设备管理服务器。
- periph 外围设备I/O与低级板(low-level board)设备接口。
- gatt star:931 Gatt是一个用于构建低能耗蓝牙外围设备的Go语言包。
- gobot Gobot是一个用于机器人、物理计算和物联网的框架。
- devices star:236 一套用于物联网设备的库,实验性地用于x/exp/io。
- connectordb star:230 自我量化和物联网的开源平台。
- sensorbee star:197 轻量级物联网流处理引擎。
- huego star:162 一个包含广泛的Philips Hue客户端的Go语言库。
- iot IoT是一个实现谷歌物联网核心设备的简单框架。
- eywa star:45 Eywa是一个用于跟踪连接的设备连接管理器。
作业调度器
用于作业调度的库。 (翻译出错了? 试试 英文版 吧~)
- gron star:798 使用简单的Go API定义基于时间的任务。 之后Gron的调度程序将运行它们。
- JobRunner star:790 智能和功能丰富的cron作业调度程序(包含任务队列和实时监控)。
- jobs star:478 持久和灵活的后台作业库。
- scheduler star:351 Cronjobs让调度变得很简单。
- go-cron star:198 一个Go实现的简单的定时任务库。可以在不同的时间间隔(每秒一次到在每年在特定的日期执行)执行闭包或函数。主要用于web应用和长时间运行的守护进程。
- clockwerk 使用简单、流畅的语法调度作业的Go语言库。
- go-quartz star:97 简单的,无依赖的Go调度库。
- leprechaun star:74 支持webhook、crons和经典调度的作业调度程序。
- clockwork star:13 Go实现的简单直观的作业调度库。
JSON
用于JSON处理的库。 (翻译出错了? 试试 英文版 吧~)
- GJSON star:7307 使用一行代码获取JSON的值。
- gojson star:2274 从JSON自动生成Go的结构(struct)定义。
- kazaam star:172 用于任意JSON文档转换的API。
- gojq star:160 Go语言实现的JSON请求。
- jsongo star:95 使用Fluent API来更容易地创建Json对象。
- jettison star:88 高性能,无反射的JSON编码器去。
- JSON-to-Go 将JSON转换为Go的结构(struct)。
- gjo star:86 用于创建JSON对象的小工具。
- JayDiff star:79 用Go编写的JSON比对工具。
- json2go star:68 高级JSON去结构转换。提供一个包,该包可以解析多个JSON文档并创建结构体以适应所有这些文档。
- jsonf star:58 用于高亮展示和查询JSON的控制台工具。
- ajson star:51 为Go语言开发的包含JSONPath支持的抽象JSON。
- mp star:44 简单的cli电子邮件解析器。它目前接受stdin并输出JSON。
- go-respond star:39 用于处理常见的HTTP JSON响应的Go语言库。
- go-jsonerror star:10 Go-JsonError允许我们轻松创建符合JsonApi规范的json响应错误。
- jsonapi-errors star:9 基于JSON API错误引用的Go bindings。
- jsonhal star:9 让自定义结构(struct)转化为JSON兼容的HAL(Hypertext Application Language)返回数据的简单Go包。
- dynjson star:6 用于动态api的可定制的JSON格式。
- ej star:5 简洁地编写和读取来自不同来源的JSON。
- epoch star:4 包含用于封送/解封送Unix时间戳/纪元到内建时间的原语。时间类型为JSON。
- mapslice-json star:2 去MapSlice的有序封送/解封的JSON地图。
- jzon star:1 具有标准兼容API/行为的JSON库。
日志记录
用于生成和处理日志文件的库。 (翻译出错了? 试试 英文版 吧~)
- logrus star:16413 Go的结构化日志操作 。
- zap star:11144 快速、结构化、多等级的日志记录。
- spew star:4091 为Go数据结构实现一个漂亮的printer用于帮助调试。
- zerolog star:3960 Zero-allocation JSON日志记录。
- glog star:2612 为Go提供了多等级日志记录。
- lumberjack star:2199 简单的滚动日志,io.WriteCloser的实现。
- tail star:1930 努力模拟实现BSD的tail的特性的Go包。
- seelog star:1508 具有灵活调度、过滤和格式化的日志功能。
- log star:1044 Go的结构化日志包。
- log15 star:987 简单、强大的日志操作。
- onelog star:380 Onelog是一个非常简单但非常高效的JSON日志程序。它是所有场景中速度最快的JSON日志程序。而且,它是配置要求最低的日志记录器之一。
- logxi star:345 12-factor app的日志程序,快速且让人高兴地使用。
- logutils star:289 Go的用于更好地进行日志操作的实用程序,继承了标准日志库。
- log star:275 Go的简单、可配置和可伸缩的结构化日志。
- phuslu/log star:273 简化了结构化日志记录。
- go-logger star:258 简单的日志程序的 Go 程序,与级别处理程序。
- httpretty star:196 在终端上美化您的常规HTTP请求以便调试(类似于HTTP . dumprequest)。
- rollingwriter star:160 RollingWriter是一个自动循环的io.Writer的实现,带有多种策略以提供日志文件循环(rotation)。
- logger star:145 Go的精简日志库。
- xlog star:135 针对'net/context`实现的结构化的记录器,用于HTTP处理程序。
- sqldb-logger star:128 一个日志程序,用于不修改现有的* SQL . db stdlib用法的Go SQL数据库驱动程序。
- ozzo-log star:114 支持日志多等级、分类和过滤的高性能日志记录。可以发送过滤后的日志消息到各种目标(如控制台,网络,邮件)。
- logur star:103 一个固执的logger接口,集合了著名库的适配器和集成的日志最佳实践(logrus, go-kit log, zap, zerolog,等等)。
- glg star:96 glg是一个简单而快速的Go日志库。
- log-voyage star:88 用Go编写的功能齐全的日志写入saas。
- stdlog star:45 Stdlog是一个面向对象的库,提供了多等级日志记录。它对cron任务非常有用。
- gologger star:38 为Go提供方便简单的日志操作; 在彩色控制台,简单控制台,文件或Elasticsearch上。
- go-cronowriter star:37 基于当前日期和时间的自动日志文件写入工具,类似cronolog。
- go-log star:37 Log4j的Go语言。
- logex star:36 由标准日志库封装的Go日志库,支持跟踪和多等级。
- go-log star:28 支持多等级和多处理程序的日志库。
- logrusly star:26 logrus的插件,将错误信息发送到Loggly。
- distillog star:24 distilled日志记录(可以将其视为stdlib +日志)。
- log star:23 Go的结构化日志接口,清晰地将日志facade与其实现(implementation)分离开来。
- mlog star:21 简单的go日志模块,有5个级别,可选循环(rotation)日志文件记录功能和stdout/stderr输出。
- journald star:21 Go实现systemd Journal的原生API用于日志记录。
- gone/log 快速、可扩展、功能齐全、std-lib源兼容的日志库。
- gomol star:16 为Go实现可多方式输出、结构化日志, 并可扩展日志输出方式。
- glo star:13 参照PHP的Monolog实现的具有相同日志等级的Go日志库。
- go-log star:11 Go实现的简单且可配置的日志工具,并带有多等级、日志格式化和日志写入工具。
- logrusiowriter star:10 io。作者的实现使用logrus logger。
- logmatic star:9 Go的彩色日志记录器,带有可配置的日志级别。
- logdump star:9 用于多等级级日志记录的包。
- go-log star:7 具有strack跟踪、对象转储和可选时间戳的日志记录库。
- log star:7 一个O(1)日志系统,允许您将一个日志连接到多个日志写入(例如stdout、文件和TCP连接)。
- logo star:6 Go的日志工具,可配置的日志写入器。
- xlog star:6 插件架构和灵活的日志系统,带有多级别、多日志目标和自定义日志格式。
- kemba star:2 一个小的调试日志工具,灵感来自debug,非常适合CLI工具和应用程序。
机器学习
机器学习库。 (翻译出错了? 试试 英文版 吧~)
- GoLearn star:7445 通用机器学习库。
- gorgonia star:3643 基于图形(graph-based)的计算库,如Theano:它为构建各种机器学习和神经网络算法提供了基本框架。
- tfgo star:1442 易于使用的Tensorflow bindings:简化了官方Tensorflow Go bindings的使用。在Go中定义计算图形,在Python中加载和执行训练的模型。
- gosseract star:1308 使用c++的Tesseract库实现的OCR。
- goml star:1142 在线机器学习。
- gorse star:1062 基于协同过滤的离线推荐系统后端。
- eaopt star:703 一个进化优化(evolutionary optimization)库。
- bayesian star:687 Go的朴素贝叶斯分类。
- CloudForest star:676 快速、灵活、多线程集成的决策树,用于机器学习。
- gobrain star:456 用 Go 编写的神经网络库。
- ocrserver star:332 一个简单的OCR API服务器,非常容易地使用Docker和Heroku部署。
- onnx-go star:290 Go Interface, 用于开放式神经网络交换(Open Neural Network Exchange)。
- go-deep star:290 一个功能丰富的神经网络库 。
- regommend star:284 推荐和协同过滤引擎。
- go-galib star:183 用Go编写的遗传算法库。
- goRecommend star:165 用Go编写的推荐算法库。
- Goptuna star:156 Bayesian optimization framework for black-box functions written in Go. Everything will be optimized.
- shield star:134 贝叶斯文本分类器,具有灵活的tokenizers和存储后端。
- go-fann star:103 快速人工神经网络(FANN)库的Go bindings。
- goga star:93 Go的遗传算法库。
- libsvm star:67 基于LIBSVM 3.14实现。
- neural-go star:62 多层感知器网络在Go中的实现,使用反向传播算法进行训练。
- gonet star:59 用于围棋的神经网络。
- goscore star:59 为预言模型标记语言(PMML)实现的评分API。
- go-pr star:59 Go编写的模式识别包。
- neat star:58 即插即用的并行Go框架,用于增强拓扑的神经进化(NeuroEvolution of Augmenting Topologies)。
- fonet star:43 一个用Go编写的深度神经网络库。
- golinear star:41 Go实现的liblinear bindings。
- Varis star:31 Go实现的神经网络。
- godist star:26 各种概率分布,以及相关的method。
- go-cluster star:26 Go实现的k-modes和k-prototypes聚类算法。
- evoli star:15 遗传算法(Genetic Algorithm)和粒子群优化(Particle Swarm Optimization)库。
- probab star:13 概率分布函数。贝叶斯推理。使用Go写的。
- GoMind star:8 一个简单的神经网络库。
- randomforest star:6 容易使用随机森林库去。
消息
实现消息传递系统的库。 (翻译出错了? 试试 英文版 吧~)
- sarama star:6420 Apache Kafka的Go库。
- gorush star:5027 使用APNs2和谷歌GCM推送通知服务器。
- Centrifugo star:4672 实时消息(Websockets或SockJS)服务器。
- machinery star:4605 基于分布式消息传递的异步任务/作业队列。
- go-socket.io star:3767 go的socket.io库,一个实时应用程序框架。
- NATS Go Client star:3091 轻量级和高性能的发布-订阅(publish-subscribe)和分布式队列消息传递系统——这是一个Go库。
- Benthos star:2654 一系列协议之间的消息流桥接。
- APNs2 star:2394 HTTP / 2苹果消息推送provider——发送推送消息到iOS, tvOS, Safari和OSX应用。
- Confluent Kafka Golang Client star:2360 confluent-kafka-go是Confluent为Apache Kafka和Confluent平台开发的Golang客户端。
- Mercure star:2191 使用Mercure协议分派服务器发送(server-sent)更新的服务器和库(构建在服务器发送事件之上)。
- melody star:1961 处理websocket session的极简框架,包括广播和自动ping/pong处理。
- gopush-cluster star:1946 gopush-cluster是一个gopush服务器集群。
- go-nsq star:1786 NSQ的官方Go包。
- mangos star:1532 Nanomsg(“可伸缩协议”)的纯go实现,具有传输互操作性。
- Uniqush-Push star:1214 Redis支持的统一推送服务, 用于服务端向移动设备的消息通知。
- Beaver star:889 一个实时消息服务器,可用于在web和手机app端构建一个可伸缩的应用内通知,多人游戏,聊天应用。
- zmq4 star:877 ZeroMQ的Go interface第4版。也可用于第3版和第2版。
- Gollum star:874 一个n:m多路复用器(n:m multiplexer),收集不同来源的消息并将其广播到一组目的地。
- EventBus star:806 具有异步兼容性的轻量级事件总线。
- Asynq star:758 一个简单、可靠、高效的基于Redis的分布式任务队列。
- dbus star:501 D-Bus的Go bindings。
- golongpoll star:488 HTTP longpoll服务器库,使web发布-订阅变得简单。
- emitter star:379 使用Go的方式发出事件, 带有通配符、谓词、取消可能性和许多其他优点。
- Glue star:352 健壮的Go和Javascript Socket库(替代Socket.io)。
- pubsub star:339 简单的pubsub的go包。
- Bus star:169 内部通信的最小消息总线实现。
- rabtap star:151 RabbitMQ的瑞士军刀cli应用。
- messagebus star:148 messagebus是一个Go的简单异步消息总线,非常适合在执行事件sourcing、CQRS和DDD时用作事件总线。
- guble star:145 使用推送通知服务(谷歌Firebase云消息、苹果推送通知服务、SMS)的消息服务器, 支持websockets,REST API,并具有分布式操作和消息持久性。
- oplog star:104 用于REST api的通用oplog/replication系统。
- rabbus star:79 amqp exchanges和队列上的一个小工具。
- hub star:77 适用于Go应用程序的消息/事件中心,使用publish/subscribe模式,并支持别名(类似rabbitMQ exchanges)。
- drone-line star:71 使用二进制、docker或Drone CI发送Line通知。
- nsq-event-bus star:65 一个围绕NSQ topic和channel的小工具。
- RapidMQ star:59 RapidMQ是用于管理本地消息队列的轻量且可靠的库。
- Commander star:50 高级事件驱动的消费者/生产者(consumer/producer),支持各种“方言”,如Apache Kafka。
- go-notify star:50 原生的freedesktop通知规范实现。
- go-mq star:47 具有声明式配置的RabbitMQ客户端。
- go-res star:39 用于构建REST/实时服务的包,其中客户端使用NATS和Resgate进行无缝同步。
- redisqueue star:38 基于Redis streams的队列的生产者和消费者。
- event star:36 观察者模式的实现。
- go-vitotrol star:15 用于Viessmann Vitotrol web服务的客户端库。
- gosd star:15 一种用于调度何时将消息分派到通道的库。
- jazz star:13 一个简单的RabbitMQ抽象层,用于队列管理和消息的发布和消费。
- rmqconn star:11 RabbitMQ重新连接。amqp.Connection和amqp.Dial之上的Wrapper。允许在强制调用Close()方法关闭连接之前重新连接。
- ami star:11 基于Redis集群流的客户端到可靠队列。
- gaurun-client star:9 用Go编写的Gaurun客户端。
微软办公软件
- unioffice star:2607 用于创建和处理Office Word (.docx)、Excel (.xlsx)和Powerpoint (.pptx)文档的纯go库。
Microsoft Excel
用于操作Microsoft Excel的库。 (翻译出错了? 试试 英文版 吧~)
- excelize star:7226 用于读写Microsoft Excel™(XLSX)文件的Go语言库。
- xlsx star:4589 用以简化在Go程序中读取使用最新版本Microsoft Excel的XML格式文件的库。
- xlsx star:126 在Go程序以快速和安全的方式读取/更新现有的Microsoft Excel文件。
- go-excel star:102 一个简单轻便的阅读器,可以将类关系型数据库(relate-db-like)的excel作为表来读取。
- goxlsxwriter star:14 libxlsxwriter的Go binding, 用于编写XLSX (Microsoft Excel)文件。
杂项
依赖注入
用于处理依赖项注入的库。 (翻译出错了? 试试 英文版 吧~)
- dig star:1658 一个基于反射的Go依赖注入工具包。
- fx star:1583 基于依赖注入的Go应用程序框架(构建在dig之上)。
- container star:118 一个强大的IoC容器,具有流畅且易于使用的接口。
- dingo star:89 基于Guice的Go依赖注入工具包。
- goioc/di star:49 受spring启发的依赖注入容器。
- alice star:43 Go的外挂的依赖注入容器。
- di star:40 go编程语言的依赖注入容器。
- wire star:32 适用于Go的严格运行时依赖注入(Strict Runtime Dependency Injection)。
- linker star:27 A reflection based dependency injection and inversion of control library with components lifecycle support.
- gocontainer star:13 简单的依赖注入容器。
项目布局
用于组织项目的非正式模式集。 (翻译出错了? 试试 英文版 吧~)
- golang-standards/project-layout star:19041 Go生态系统中历史和新兴的项目布局模式集合。
- modern-go-application star:796 应用程序样板和应用现代实践的例子。
- cookiecutter-golang star:403 遵循生产最佳实践快速启动项目的Go应用程序样板模板。
- scaffold star:88 快速生成Go项目布局的脚手架。让您专注于已实现的业务逻辑。
- go-sample star:70 带有实际代码的Go应用程序项目的示例布局。
- go-todo-backend star:38 去Todo后端示例使用模块化项目布局的产品微服务。
字符串
处理字符串的库。 (翻译出错了? 试试 英文版 吧~)
- xstrings star:831 从其他语言移植的有用字符串函数合集。
- strutil star:106 字符串处理工具。
- go-formatter 实现替换字段由大括号'{}'格式字符串包围。
- gobeam/Stringy star:37 字符串操作库,可以将字符串转换为驼色,蛇色,烤肉色等。
未分类的
这些库之所以放在这里,是因为不适合放在其他分类。 (翻译出错了? 试试 英文版 吧~)
- gopsutil star:5477 用于检索进程和系统利用率(CPU、内存、磁盘等)的跨平台的库。
- archiver star:2981 用于生成和解压.zip和.tar.gz文档的库和命令。
- gosms star:1312 Go编写的私人的本地短信网关,可以用来发送短信。
- gofakeit star:1304 用go编写的随机数据生成器。
- go-resiliency star:1096 Go语言弹性模式(resiliency pattern)。
- base64Captcha star:967 base64Captcha支持数字,字母,算术,音频和混合模式的验证码。
- go-openapi 用于解析和使用开放api模式(open-api schemas)的包的集合。
- go-commons-pool star:865 Go语言的通用对象池。
- shortid star:621 分布式地生成超短、唯一、非顺序、URL友好的id。
- llvm star:599 用于在纯Go中与LLVM IR交互的库。
- gatus star:497 自动服务运行状况仪表板。
- health star:405 易于使用,可扩展的健康检查库。
- conv star:360 conv包提供了跨Go类型(Go types)的快速和直观的转换。
- banner star:288 在Go应用程序中添加漂亮的横幅(banner)。
- ghorg star:287 快速克隆整个org用户库到一个目录-支持GitHub, GitLab和Bitbucket。
- gountries star:282 获取国家和细节数据的包。
- ffmt star:205 美化数据,使其更适合人查看。
- stateless star:203 用于创建状态机的流畅库。
- antch star:191 一个快速、强大和可扩展的web爬虫框架。
- lk star:177 一个简单的版权许可证库。
- battery star:168 跨平台、标准化的电池信息库。
- healthcheck star:146 用于RESTful服务的强制的(opinionated)并发健康检查HTTP处理程序。
- stats star:143 Monitors Go MemStats + 诸如如内存,Swap和CPU的系统状态统计,并通过UDP发送到任何你想记录的地方
- bitio star:141 高度优化的位级读写器。
- go-unarr star:113 用于RAR、TAR、ZIP和7z文件的解压缩库。
- shoutrrr star:113 通知库提供了对各种消息服务(如slack、mattermost、fy和smtp等)的轻松访问。
- turtle star:111 Go的Emojis库。
- gommit star:92 分析git提交消息,确保它们遵循已定义的格式。
- gotoprom star:85 为Prometheus客户端提供类型安全的指标(metric)构建工具库。
- indigo star:73 分布式唯一ID生成器, 使用Sonyflake并由Base58编码。
- captcha star:70 captcha包为验证码生成提供了一个易于使用的、unopinionated的API。
- morse star:63 实现字符串与摩尔斯电码转换的库。
- xkg star:50 X Keyboard Grabber(键盘事件捕获)
- pdfgen star:49 通过Json请求生成PDF的HTTP服务。
- persian star:42 一些适用于波斯语的Go工具库。
- browscap_go star:34 用于Browser Capabilities Project的Go库。
- datacounter star:33 用于readers/writer/http.ResponseWriter的计数器。
- autoflags star:30 从struct字段自动定义命令行flag的Go包。
- sandid star:26 能沟让地球上的每一粒沙子都有自己的ID。
- VarHandler 用于生成http输入和输出处理模板。
- url-shortener star:25 一个现代的、强大的、健壮的URL转短链接微服务,带有mysql支持。
- gosh star:23 提供Go统计处理程序,结构和测量方法。
- xdg star:23 FreeDesktop.org (xdg)规范在Go中的实现。
- metrics star:16 用于instrumentation和Prometheus exposition的库。
- shellwords star:12 一个Go库,实现了依照UNIX Bourne shell的关键词解析规则进行字符串操纵。
- anagent star:11 Go语言的最小化,可插入的evloop/timer处理程序, 带有依赖注入。
- avgRating star:10 根据威尔逊得分排序算法(Wilson Score Equation)计算平均分和评分。
- hostutils star:9 一个用于打包和解包FQDNs列表的go语言库。
- faker star:9 随机假数据和结构生成器为Go。
- numa star:3 NUMA是一个用go编写的实用程序库。它可以帮助我们编写一些NUMA-AWARED代码。
自然语言处理
用于处理人类语言的库。 (翻译出错了? 试试 英文版 吧~)
- prose star:2618 支持标记化、词性标记、命名实体提取等文本处理的库。只说英语。
- gse star:1448 高效的文本分割;支持英语、汉语、日语等。
- gojieba star:1297 这是一个Go实现的jieba,这是一个中文分词算法。
- when star:1093 带有可插入规则的自然EN和RU语言日期/时间解析器。
- go-pinyin star:840 中文汉字到汉语拼音的转换。
- kagome star:536 JP形态学分析仪编写的纯Go。
- whatlanggo star:453 Go的自然语言检测包。支持84种语言和24种脚本(书写系统,如拉丁语、西里尔语等)。
- nlp star:366 从字符串中提取值并用nlp填充结构。
- nlp star:288 支持LSA(潜在语义分析)的Go自然语言处理库。
- sentences star:284 句子标记器:将文本转换为句子列表。
- getlang star:103 快速自然语言检测包。
- go-i18n 软件包和用于处理本地化文本的附带工具。
- go-nlp star:88 用于处理离散概率分布的实用程序和用于进行NLP工作的其他工具。
- go-unidecode star:76 Unicode文本的ASCII音译。
- gounidecode star:71 用于Go的Unicode音译器(也称为unidecode)。
- RAKE.go star:68 快速自动关键字提取算法(RAKE)的Go端口。
- textcat star:62 Go package支持基于n-gram的文本分类,支持utf-8和原始文本。
- MMSEGO star:59 这是一个 Go 实现的MMSEG,这是一个中文分词算法。
- go-stem star:59 波特词干算法的实现。
- segment star:54 Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29
- stemmer star:49 用于Go编程语言的Stemmer包。包括英语和德语词根。
- go2vec star:41 用于word2vec嵌入式的阅读器和实用程序函数。
- porter2 star:38 非常快的波特2史坦默。
- petrovich star:32 彼得罗维奇是一个图书馆,它把俄语名字的词形变化成特定的语法格。
- snowball star:28 滚雪球柄端口(cgo包装)为 Go 。提供词干提取功能Snowball native。
- paicehusk star:26 Golang实现了Paice/外壳阻塞算法。
- go-mystem star:25 CGo绑定到Yandex。Mystem -俄罗斯形态学分析仪。
- icu star:19 Cgo绑定用于icu4c C库的检测和转换功能。保证与版本50.1兼容。
- golibstemmer star:18 Go 绑定斯诺鲍libstemmer库,包括波特2。
- iuliia-go star:14 直译斯拉夫字母→拉丁以所有可能的方式。
- shamoji star:12 shamoji是用Go编写的word过滤包。
- libtextcat star:10 用于libtextcat C库的Cgo绑定。保证与版本2.2兼容。
- go-localize star:9 简单易用的i18n(国际化和本地化)引擎——用于翻译语言环境字符串。
- gotokenizer star:9 一种基于字典和双字母格朗语言模型的记号赋予器。(现在只支持中文分割)
- porter star:8 这是Martin Porter在C语言中实现的Porter词干分析算法的一个相当简单的移植。
- govader star:8 [VADER情绪分析]的Go实现(https://github.com/cjhutto/vaderSentiment)。
- transliterator star:6 提供单向字符串音译,并支持特定于语言的音译规则。
- gosentiwordnet star:3 情绪分析器使用的多愁善感网词汇在Go。
- detectlanguage star:2 语言检测API Go客户端。支持批量请求,短短语或单字语言检测。
网络
用于处理各种网络层的库。 (翻译出错了? 试试 英文版 吧~)
- fasthttp star:13794 一个快速HTTP实现,比net/http快10倍。
- kcptun star:12153 基于KCP协议的非常简单和快速udp隧道。
- webrtc star:5723 WebRTC API的纯Go实现。
- dns star:4969 用于 DNS 的库。
- quic-go star:4593 在纯Go中实现了QUIC协议。
- gopacket star:3730 Go library for packet processing with libpcap bindings.
- HTTPLab star:3623 HTTPLabs 允许你检查 HTTP 请求和伪造响应。
- gnet star:3131 “gnet”是一个用纯Go编写的高性能、轻量级、非阻塞、事件驱动的网络框架。
- kcp-go star:2774 快速可靠的ARQ协议。
- gobgp star:2055 基于 Go 的 BGP 实现。
- ssh star:1735 用于构建SSH服务器的高级API(封装密码/ SSH)。
- fortio star:1610 负载测试库和命令行工具,高级的echo服务器和web UI。允许指定一组每秒查询的负载,并记录延迟直方图和其他有用的统计数据,并将它们作图。支持Tcp、Http、gRPC。
- water star:1134 简单TUN / TAP图书馆。
- go-getter star:997 通过URL来下载文件或目录。
- NFF-Go star:969 用于快速开发云计算和裸机网络功能的框架(原YANFF)。
- gev star:948 gev是一个基于反应器模式的轻量级、快速的非阻塞TCP网络库。
- sftp star:924 Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.
- grab star:759 用于管理文件下载。
- ftp star:746 实现了RFC 959中描述的ftp客户端。
- mdns star:693 简单mDNS(Multicast DNS)客户端/服务器库。
- mqttPaho Paho Go客户端提供了一个 MQTT 客户端库,用于通过TCP、TLS或WebSockets连接到MQTT代理。
- vssh star:664 Go库建立网络和服务器自动化的SSH协议。
- lhttp star:588 强大的websocket框架,可以让你更容易的构建IM服务器。
- gosnmp star:575 用于执行 SNMP 操作的原生 Go 库。
- cidranger star:551 快速得 IP 到 CIDR 查找。
- gotcp star:470 用于快速编写 tcp 应用程序。
- peerdiscovery star:451 基于UDP组播的跨平台本地对等点发现库。
- stun star:416 Go实现的RFC 5389 STUN协议。
- gopcap star:405 用 Go 实现了对 libpcap 的封装。
- go-stun star:392 实现了 STUN 客户端(RFC 3489和RFC 5389)。
- raw star:371 Package raw支持在设备驱动程序级别读取和写入网络接口的数据。
- tcp_server star:346 Go 图书馆建设tcp服务器更快。
- winrm star:278 Go WinRM客户端远程执行Windows机器上的命令。
- buffstreams star:242 通过TCP传输协议缓冲区数据。
- arp star:232 实现了arp协议,如RFC 826中所述。
- gaio star:217 高性能异步io网络在proactor模式下的Golang。
- ethernet star:208 实现了对IEEE 802.3以太网II帧和IEEE 802.1Q VLAN标签的编组和解组。
- gmqtt star:182 Gmqtt是一个灵活、高性能的MQTT代理库,它完全实现了MQTT协议V3.1.1。
- jazigo star:159 Jazigo是一个用Go编写的工具,用于检索多个网络设备的配置。
- gNxI star:157 一组基于 gNMI 和 gNOI 协议的网络管理工具。
- utp star:155 Go uTP微传输协议的实现。
- canopus star:143 CoAP客户端/服务器实现(RFC 7252)。
- sslb star:129 它是一个超级简单的负载平衡器,只是一个实现某种性能的小项目。
- xtcp star:107 TCP服务器框架,同时全双工通信,优雅的关机,和自定义协议。
- dhcp6 star:69 实现了一个DHCPv6服务器,如RFC 3315所述。
- ether star:68 一个用于发送和接收以太网帧的跨平台 Go 库。
- packet star:54 通过TCP和UDP发送数据包。它可以缓冲消息和热交换连接。
- linkio star:50 网络链路速度模拟,主要用于接口的读/写。
- portproxy star:44 Simple TCP proxy which adds CORS support to API's which don't support it.
- iplib star:39 用于处理IP地址的库(net)。借鉴于python 的 ipaddress和ruby ipaddr
- graval star:26 FTP服务器框架。
- publicip star:21 包publicip返回面向公共的IPv4地址(internet出口)。
- golibwireshark star:19 用于解码 pcap 文件和分析解剖数据。
- go-powerdns star:17 Golang的PowerDNS API绑定。
- panoptes-stream star:12 云本地分布式流媒体网络遥测(gNMI, Juniper JTI和Cisco MDT)。
- llb star:11 一个非常简单、快速的代理服务器后端。可用于快速重定向到预定义域,具有零内存分配和快速响应。
- goshark star:10 用于解码IP包,创建用于分析的数据结构包。
- gohooks star:9 gohook使得从Go应用程序发送和使用安全的web钩子变得很容易。灵感来自空间的Laravel Webhook客户端和服务器。
- tspool star:7 TCP库使用工作池来提高性能并保护服务器。
- httpproxy star:7 HTTP代理处理程序和拨号。
HTTP客户端
用于发出HTTP请求的库。 (翻译出错了? 试试 英文版 吧~)
- resty star:3458 简单的 HTTP 和 REST 客户端,受到 Ruby rest-client 的启发。
- grequests star:1677 一个 Go “克隆”的伟大和著名的请求库。
- heimdall star:1647 具有重试和hystrix功能的增强http客户机。
- sling star:1210 Sling是一个用于创建和发送API请求的Go HTTP客户端库。
- gentleman star:847 功能齐全的插件驱动HTTP客户端库。
- pester star:524 使用重试、后退和并发执行HTTP客户机调用。
- request star:75 golang的HTTP客户端。如果您有关于axios或请求的经验,您会喜欢它。没有第三依赖性。
- rq star:36 golang stdlib HTTP客户端更好的接口。
- go-http-client star:13 简单而容易地进行http调用。
- httpretry star:10 用重试功能丰富默认的go HTTP客户端。
OpenGL
用于在Go中使用OpenGL的库。 (翻译出错了? 试试 英文版 吧~)
- glfw star:1001 GLFW 3 的 Go 接口实现。
- gl star:760 OpenGL 的 Go 接口实现(通过glow生成)。
- mathgl star:349 完全基于 Go 实现的数学软件包,专门用于处理三维数学。借鉴于 GLM。
- goxjs/gl star:143 跨平台的OpenGL 接口实现(OS X, Linux, Windows,浏览器,iOS, Android)。
- goxjs/glfw star:67 跨平台 glfw 库,可用于创建 OpenGL 上下文并接收事件。
- go-glmatrix star:1 访问glMatrix库的端口。
ORM
Libraries that implement Object-Relational Mapping or datamapping techniques. (翻译出错了? 试试 英文版 吧~)
- GORM star:21514 一个出色的 ORM 库。主要目标是对开发人员友好。
- ent star:5539 一个用于Go的实体框架。用于建模和查询数据的简单而强大的ORM。
- go-pg star:4151 用于 PostgreSQL 的ORM。侧重于 PostgreSQL 的特性和性能。
- SQLBoiler star:3491 ORM 生成器。根据数据库 schema 生成一个功能强大且运行速度快的ORM。
- gorp star:3431 基于 Go 的关系持久性 ORM-ish 库。
- XORM 简单而强大的ORM for Go。(支持:MySQL, MyMysql, PostgreSQL, Tidb, SQLite3, MsSql和Oracle)。
- upper.io/db star:2370 对外提供统一的接口用于访问不同的存储介质,例如PostgreSQL, MySQL, SQLite, MSSQL, QL、MongoDB.。
- reform star:1033 基于非空接口和代码生成的 ORM。
- pop/soda star:975 数据库迁移、创建、ORM等。用于MySQL、PostgreSQL和SQLite。
- gormt star:841 Mysql数据库到golang gorm结构。
- go-queryset star:570 基于 GORM 100% 类型安全的 ORM。可支持 MySQL, PostgreSQL, Sqlite3, SQL Server。
- QBS star:554 Stands for Query By Struct. A Go ORM.
- go-sqlbuilder star:477 一个灵活而强大的SQL字符串构建器库。
- beego orm 强大的orm框架。支持: pq/mysql/sqlite3。
- rel star:271 Golang的现代数据库访问层——可测试、可扩展,并精心设计成一个干净优雅的API。
- Zoom star:267 基于 Redis 的快速数据存储和查询引擎。
- grimoire star:149 基于 golang 的数据库访问层和验证库。(支持: MySQL, PostgreSQL和SQLite3)。
- go-sql star:128 一个简单的ORM为mysql。
- go-store star:100 简单且快速的 Redis 键值存储库。
- go-firestorm star:19 一个轻量级的ORM。用于Google/Firebase Cloud Firestore。
- lore star:6 Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go.
- marlow star:3 从项目结构生成ORM。
包管理
用于管理依赖和包的官方工具 (翻译出错了? 试试 英文版 吧~)
- go modules Modules 是源码的版本控制和交换的单位。go命令直接支持处理模块,包括记录和解决对其他模块的依赖关系。
包管理的官方实验工具 (翻译出错了? 试试 英文版 吧~)
用于包和依赖项管理的非官方库。 (翻译出错了? 试试 英文版 吧~)
- gigo 类似pip的golang依赖工具,支持私有存储库和散列。
- glide star:8065 轻松管理您的 golang 第三方包。受Maven、Bundler和Pip等工具的启发。
- godep star:5625 godep是go的依赖工具,它通过修复包的依赖关系来帮助构建可重复的包。
- govendor star:5011 包管理器。使用 vendor 文件的 Go vendor 工具。
- gopm star:2493 包管理器。
- gom star:1387 Go Manager - bundle for Go。
- gpm star:1201 基本的 Go 依赖管理器。
- goop star:779 Go 的简单依赖管理器,灵感来自Bundler。
- modgv star:347 将'go mod graph'输出转换为Graphviz的点语言。
- nut star:242 vendor 依赖。
- johnny-deps star:215 使用Git的最小依赖版本。
- VenGO star:121 创建和管理可导出的隔离go虚拟环境。
- mvn-golang star:112 插件,为自动加载Golang SDK,依赖关系管理和启动Maven项目基础设施中的构建环境提供了方法。
- gop star:50 在GOPATH之外构建和管理Go应用程序。
性能
- jaeger star:12134 分布式跟踪系统。
- profile star:1316 Go的简单分析支持包。
- statsviz star:867 实时可视化您的Go应用程序运行时统计数据。
- pixie star:334 通过eBPF对Golang应用程序没有检测跟踪。
- tracer star:38 简单、轻量级的跟踪。
查询语言
- graphql-go star:6955 为Go实现GraphQL。
- graphql star:3512 关注易用性的GraphQL服务器。
- gojsonq star:1550 一个用来查询JSON数据的Go包。
- dasel star:359 使用命令行中的选择器查询和更新数据结构。与jq/yq类似,但支持JSON、YAML、TOML和XML,运行时依赖关系为零。
- jsonql star:238 Golang中的JSON查询表达式库。
- rql star:178 用于REST API的资源查询语言。
- graphql star:52 graphql解析器+工具集
- jsonslice star:48 使用高级过滤器查询Jsonpath。
- straf star:21 轻松地将Golang结构转换为GraphQL对象。
- api-fu star:17 综合GraphQL实现。
- rqp star:14 REST API的查询解析器。查询中直接支持筛选、验证、'和'或'操作。
- gws star:4 Apollos的“GraphQL over Websocket”客户端和服务器实现。
嵌入的资源
- packr star:3042 将静态文件嵌入到Go二进制文件中的简单方法。
- statik star:2982 将静态文件嵌入到Go可执行文件中。
- go.rice star:2088 go.rice 是一个Go包,它使处理html、js、css、图像和模板等资源变得非常容易。
- vfsgen star:898 生成一个vfsdata。静态实现给定虚拟文件系统的go文件。
- esc star:583 将文件嵌入到Go程序中并提供http文件系统接口。
- fileb0x star:573 一个可定制的工具用来在Go中嵌入文件
- go-resources star:170 嵌入到Go中的普通资源。
- statics star:61 将静态资源嵌入到go文件中,用于单个二进制编译+使用http。文件系统+符号链接。
- go-embed star:27 生成go代码,将资源文件嵌入到库或可执行文件中。
- templify star:25 将外部模板文件嵌入到Go代码中,以创建单个文件二进制文件。
- mule star:8 嵌入外部资源,如图像,电影…
科学与数据分析
用于科学计算和数据分析的库。 (翻译出错了? 试试 英文版 吧~)
- gonum star:4322 Gonum是一组用于Go编程语言的数字库。它包含用于矩阵、统计、优化等的库。
- stats star:1833 包含Golang标准库中缺少的公共函数的统计软件包。
- gonum/plot star:1728 gonum/plot提供了一个API,用于在Go中构建和绘制绘图。
- gosl star:1519 提供线性代数,FFT,几何,NURBS,数值方法,概率,优化,微分方程,等等。
- streamtools star:1315 通用图形工具,用于处理数据流。
- go-dsp star:703 Go数字信号处理。
- chart star:662 简单的图表绘制库。支持多种图形类型。
- goraph star:636 纯Go图论库(数据结构,算法可视化)。
- graph star:385 基本图形算法库。
- dataframe-go star:385 用于机器学习和统计的数据框架(类似于panda)。
- orb star:342 2D几何类型,支持剪切、GeoJSON和Mapbox矢量平铺。
- ewma star:313 提供指数加权移动平均算法。
- calendarheatmap star:229 基于Github贡献活动的日历热图。
- gohistogram star:148 数据流的近似直方图。
- TextRank star:117 TextRank在Golang中的实现,支持扩展特性(摘要、加权、短语提取)和多线程(goroutine)。
- sparse star:103 Go 稀疏矩阵格式的线性代数支持科学和机器学习应用程序,兼容gonum矩阵库。
- pagerank star:66 加权 PageRank 算法在Go中的实现。
- geom star:46 Go 的二维几何。
- evaler star:44 简单的浮点算术表达式求值器。
- goent star:22 Go 实现熵度量。
- decimal star:19 Package decimal实现任意精度的十进制浮点运算。
- triangolatte star:17 二维三角库。允许将线和多边形(都基于点)转换为gpu语言。
- GoStats star:14 GoStats是一个开放源码的GoLang库,主要用于机器学习领域的数学统计,它涵盖了大多数统计度量函数。
- piecewiselinear star:13 微型线性插值库。
- PiHex star:13 实现了针对16进制数 Pi 的“bailee - borwein - plouffe”算法。
- ode star:12 常微分方程(ODE)求解器,支持扩展状态和基于信道的迭代停止条件。
- assocentity star:6 assocentity 返回单词到给定实体的平均距离。
- go-gt star:5 用“Go”语言编写的图论算法。
- rootfinding star:4 二次函数求根算法库。
- bradleyterry star:4 为成对比较提供了一个 Bradley-Terry 模型。
安全
用于帮助您的应用程序更安全的库。 (翻译出错了? 试试 英文版 吧~)
- lego star:4280 纯 Go ACME 客户端库及命令行工具
- Cameradar star:2394 工具和库,以远程入侵RTSP流从监控摄像头。
- memguard star:1817 一个用于处理内存中敏感值的纯Go库。
- acmetool star:1801 ACME(让我们用自动更新加密)客户端工具。
- secure star:1568 Go 语言 HTTP 中间件,为 Go 提供了一些安全功能
- themis star:1145 用于解决典型数据安全任务(安全数据存储、安全消息传递、零知识证明认证)的高级加密库,可用于14种语言,最适合多平台应用程序。
- acra star:653 网络加密代理保护基于数据库的应用程序免受数据泄漏:强选择性加密,SQL注入预防,入侵检测系统。
- nacl star:485 Go 实现NaCL API的集合。
- firewalld-rest star:295 用于动态更新linux服务器上的firewalld规则的rest应用程序。
- BadActor star:289 一个驻留在内存中的,应用驱动的监控程序,受 fail2ban 的启发
- ssh-vault star:259 使用ssh密钥加密/解密。
- optimus-go star:241 使用Knuth的算法进行ID哈希和混淆。
- passlib star:238 不过时的密码哈希库。
- go-yara star:186 YARA的 Go 语言接口,号称是 “对于恶意软件研究者(以及其他人)来说是模式匹配的瑞士军刀”
- simple-scrypt star:163 Scrypt 库,具有简单、易懂的 API,同时具有内置的自动校准功能
- argon2pw star:84 使用常量时间密码比较生成Argon2密码散列。
- autocert 让我们加密证书并启动TLS服务器。
- Interpol 基于规则的数据生成器,用于模糊和渗透测试。
- goSecretBoxPassword star:38 一个安全哈希和加密密码的偏执包。
- certificates star:20 用于生成tls证书的自定义工具。
- go-generate-password star:14 可以在cli上或作为库使用的密码生成器。
- secureio star:12 一个密钥交换+认证+加密的包装和多路复用的' io。读写ecloser '基于XChaCha20-poly1305, ECDH和ED25519。
- goArgonPass star:12 Argon2密码散列和验证设计为与现有Python和PHP实现兼容。
- argon2-hashing star:11 轻包装周围的Go的argon2包,它与Go的标准库Bcrypt和simple-scrypt包密切镜像。
- sslmgr star:10 使用围绕acme/autocert的高级包装器,SSL证书变得很容易。
序列化
用于二进制序列化的库和工具。 (翻译出错了? 试试 英文版 吧~)
- jsoniter star:8427 高性能,100% 兼容的“encoding/json” 替代品
- goprotobuf star:7169 通过库和协议编译器插件使 Go 语言支持 Google的 protocol buffers.
- gogoprotobuf star:4156 Go 语言的 Protocol Buffer 库。
- mapstructure star:3823 用于对原生键值对进行解码生成 Go 语言结构体
- go-codec star:1474 高性能、多功能、规范化编码解码以及 rpc 库, 用于 msgpack, cbor 和 json,支持基于运行时的 OR 码生成
- colfer star:567 为Colfer二进制格式生成代码。
- csvutil star:421 高性能、惯用的CSV记录编码和解码到本机Go结构。
- go-capnproto star:277 Go 语言用的 Cap'n Proto 库及解析器
- cbor star:221 小,安全,容易的CBOR编码和解码库。
- php_session_decoder star:142 用于协同 PHP session 格式数据和 PHP 序列化/反序列化函数工作的go语言库
- structomap star:116 用于从静态结构体简单、动态的生成键值对的库
- bambam star:61 用于 Go 语言生成 Cap'n Proto schemas 的生成器
- asn1 star:47 面向golang的BER和DER编码库。
- binstruct star:26 用于将数据映射到结构中的Golang二进制解码器。
- fwencoder star:14 用于Go的固定宽度文件解析器(编码和解码库)。
- elastic star:12 在运行时跨不同类型转换片、映射或任何其他未知值
- bel star:11 从Go structs/interface生成TypeScript接口。对JSON RPC很有用。
- pletter star:11 A standard way to wrap a proto message for message brokers.
- fixedwidth star:4 固定宽度的文本格式(支持UTF-8)。
- go-lctree star:1 提供一个CLI和原语来序列化和反序列化[LeetCode二进制树](https://support.leetcode.com/hc/en-us/articles/360011883654-what-does -1-null-2-3-mean-in-二进制树表示)。
服务器应用程序
- etcd star:33452 为共享配置和服务发现提供高可用的键值存储。
- consul Consul 是一个用于服务发现、监控和配置的工具
- Caddy star:30796 Caddy是另一种HTTP/2 web服务器,易于配置和使用。
- minio star:24560 Minio是一个分布式对象存储服务器。
- RoadRunner star:4600 高性能PHP应用服务器,负载平衡器和进程管理器。
- devd star:3055 为开发人员提供本地web服务器。
- SFTPGo star:2085 完全功能和高度可配置的SFTP服务器与可选的FTP/S和WebDAV支持。它可以为本地文件系统和云存储后端(如S3和谷歌云存储)提供服务。
- algernon star:1742 内置支持Lua、Markdown、GCSS和Amber的HTTP/2 web服务器。
- flipt star:1342 一个用Go和Vue.js编写的自包含特性标志解决方案
- Fider star:1335 Fider是一个收集和组织客户反馈的开放平台。
- Flagr star:1317 Flagr是一个开源特性标记和A/B测试服务。
- Trickster star:1229 HTTP反向代理缓存和时间序列加速器。
- discovery star:1059 用于弹性中间层负载平衡和故障转移的注册表。
- jackal star:863 用Go编写的XMPP服务器。
- dudeldu star:117 一个简单的SHOUTcast服务器。
- lets-proxy2 star:43 Reverse proxy for handle https with issue certificates in fly from lets-encrypt.
- psql-streamer star:22 从PostgreSQL到Kafka的流数据库事件。
- riemann-relay 传递到负载平衡Riemann事件并/或将其转换为 Carbon。
- nginx-prometheus star:15 Nginx日志解析器和Prometheus 导出。
- nsq 一个实时分布式消息平台。
- protoxy star:5 将JSON请求体转换为协议缓冲区的代理服务器。
流处理
用于流处理和响应式编程的库和工具。 (翻译出错了? 试试 英文版 吧~)
- go-streams star:430 流处理库。
模板引擎
用于模板和词法分析的库和工具。 (翻译出错了? 试试 英文版 吧~)
- gofpdf star:3669 PDF 文档生成器,支持文本,绘图和图片
- quicktemplate star:1903 快速、强大且易用的模板引擎。将模板转化为 Go 语言并进行编译
- pongo2 star:1806 类似 DjanGo 的模板引擎
- hero star:1414 Hero是一个方便、快速和强大的go模板引擎。
- mustache star:997 Go 语言实现的 Mustache 模板语言
- amber star:864 Amber是一个优雅的Go编程语言模板引擎,它的灵感来自HAML和Jade。
- ace star:792 Ace 是一个 Go 语言的 HTML 模板引擎,受到了 Slim 和 Jade 的启发。 Ace 是对Gold的一种改进。
- Razor star:758 Go 语言的 Razor 视图引擎
- jet star:701 Jet模板引擎。
- ego star:452 轻量级模板语言,允许您在Go中编写模板。模板被翻译成Go并编译。
- fasttemplate star:445 简单快速的模板引擎。进行模板元素替换时,速度是比text/template快10倍。
- raymond star:403 使用 Go 语言实现的完整的 handlebars
- maroto star:268 创建pdf文件的maroto方法。Maroto的灵感来自于Bootstrap并使用gofpdf。快速和简单。
- goview star:183 Goview是一个轻量级、极简的模板库,基于golang html/template构建Go web应用程序。
- Soy star:153 Go 语言实现的谷歌闭包模板(也就是 Soy templates) ,遵循官方规范。
- liquid star:109 Go 语言实现的 Shopify Liquid 模板.
- velvet star:73 使用 Go 语言实现的完整的 handlebars
- kasia.go star:72 一个用于HTML 和其他文本文件的模板系统,使用go语言实现
- extemplate star:28 对 html/template 进行了简单的封装,支持基于文件的模板可以利用其他模板文件进行扩展
- damsel star:24 标记语言,通过css选择器实现了 html 框架 ,并可以通过 pkg html/template 等进行扩展
- gospin star:18 文章纺纱和spintax/纺纱语法引擎,适用于A/B,测试文本/文章片段和创建更多的自然对话。
测试
用于测试代码库和生成测试数据的库。 (翻译出错了? 试试 英文版 吧~)
-
Testing Frameworks
- testmd 将markdown代码段转换为可测试的go代码。
- Testify star:11804 对标准测试包的扩展。
- go-cmp star:1998 用于比较测试中的Go值的包。
- httpexpect star:1531 简洁的、声明式的、易用的端到端HTTP 及 REST API 测试
- godog star:1170 类似 Cucumber 或 Behat 的 BDD 框架
- goblin star:724 类似Mocha的测试框架。
- baloo star:692 表达性强、多功能的、端到端的HTTP API 测试工具
- testfixtures star:572 类似 Rails 的测试工具,用于测试数据库应用
- go-vcr star:465 记录并回放HTTP交互,以便进行快速、确定和准确的测试。
- go-mutesting star:372 变异测试的Go源代码。
- gofight star:349 对 Go 语言的路由框架进行 API 测试
- ginkgo Go的BDD测试框架。
- frisby star:263 REST API测试框架。
- gocheck 更加高级的测试框架,用于替换 Gotest
- goc star:224 Goc是一个针对Go编程语言的全面覆盖测试系统。
- GoConvey BDD 风格的测试框架,具有 web 界面和计时刷新功能
- go-carpet star:210 在终端中查看测试覆盖率的工具。
- charlatan star:196 为测试生成假接口实现的工具。
- gotest.tools star:177 一组包,用于增强go测试包并支持公共模式。
- commander star:166 用于在windows、linux和osx上测试cli应用程序的工具。
- endly star:162 声明性端到端功能测试。
- cupaloy star:120 测试框架的简单快照测试插件。
- dbcleaner star:118 清空数据库用于测试,受到database_cleaner 的启发
- GoSpec star:115 用于 Go 编程语言的bdd风格的测试框架。
- go-testdeep star:109 极具灵活性的golang深度比较,扩展了go测试包。
- embedded-postgres star:82 作为另一个Go应用程序或测试的一部分,在Linux、OSX或Windows上本地运行一个真正的Postgres数据库。
- wstest star:80 用于单元测试Websocket http.Handler的Websocket客户机。
- apitest 基于REST的服务/HTTP处理程序的简单且可扩展的行为测试库,支持模拟外部HTTP调用和呈现序列图
- gospecify star:54 支持 BDD 语法 。对于任何使用过 rspec 等库的人来说应该非常熟悉。
- restit star:52 帮助编写 RESTful API 集成测试的 Go 语言微型框架.。
- jsonassert star:52 用于验证JSON有效负载已正确序列化的包。
- testcase star:48 行为驱动开发的惯用测试框架。
- gomega 类似 Rspec 的 matcher/assertion 库
- gomatch star:39 为针对模式测试JSON而创建的库。
- dsunit star:35 用于SQL、NoSQL、结构化文件的数据存储测试。
- Hamcrest star:27 用于声明性 Matcher 对象的连贯框架,当将其应用于输入值时,将产生自描述结果。
- covergates star:26 自托管的代码覆盖报告审查和管理服务。
- assert star:23 基础断言库,用于对 Go 语言程序进行测试,提供了一些用于自定义断言的代码块
- go-hit star:20 Hit是一个用golang编写的http集成测试框架。
- flute star:15 HTTP客户端测试框架。
- schema star:14 快速、简单地匹配请求和响应中使用的JSON模式的表达式。
- biff star:10 分支测试框架,BDD兼容。
- badio star:10 Go 语言 testing/iotest 包的扩展。
- testsql star:10 在测试前从SQL文件生成测试数据,并在测试完成后清除数据。
- gocrest star:10 用于 Go 断言的可组合的类似 hamcrest 的 matchers。
- gogiven star:9 类似于 YATSPEC 的Go BDD测试框架。
- gosuite star:9 轻量级测试套,为 Go1.7's Subtests 带来了setup/teardown 功能
- Tt star:5 简单而丰富多彩的测试工具。
- trial star:4 无需引入太多样板,即可快速轻松地扩展断言。
-
Mock
- gomock star:4816 用于Go编程语言的mock框架。
- go-sqlmock star:2926 Mock SQL ,用于测试数据库交互
- hoverfly star:1657 使用可扩展中间件和易于使用的CLI记录和模拟REST/SOAP api的HTTP(S)代理。
- gock star:1097 多功能、易用 HTTP mock
- httpmock star:925 轻松模拟来自外部资源的HTTP响应。
- counterfeiter star:448 用于生成自包含 mock 对象的工具
- minimock star:327 Go接口的模拟生成器。
- go-txdb star:313 基于单事务的数据库驱动,主要用于测试目的
- govcr star:93 HTTP mock : 离线测试时记录和重放浏览器的动作
- timex star:48 一个测试友好的本地“时间”包的替代品。
- mockhttp star:22 Go http.ResponseWriter的模拟对象。
- go-localstack star:7 用于在AWS测试中使用localstack的工具。
-
Fuzzing and delta-debugging/reducing/shrinking.
-
Selenium and browser control tools.
- chromedp star:5457 用于驱动和测试 Chrome, Safari, Edge, Android Webviews, 以及其他支持 Chrome 调试协议的产品
- selenoid star:1746 Selenium hub 服务器的替代品,在容器中启动浏览器
- rod star:971 一个Devtools驱动程序,使web自动化和抓取更加容易。
- cdp star:487 用于Chrome调试协议的类型安全绑定,可与实现该协议的浏览器或其他调试目标一起使用。
- ggr star:265 一个轻量级服务器,可以将 Selenium Wedriver 的请求路由或代理到多个 Selenium hubs
-
Fail injection
- failpoint star:542 为Golang实现failpoints。
文本处理
用于解析和操作文本的库。 (翻译出错了? 试试 英文版 吧~)
- Specific Formats
- colly star:12301 快速和优雅的 Scraping 框架。
- GoQuery star:9457 GoQuery 为 Go 语言带来了一组类似 jQuery 的语法和功能
- blackfriday star:4539 Markdown 解析器
- toml star:3365 TOML配置格式(带反射的编码器/解码器)。
- sh star:3288 Shell解析器和格式化工具。
- go-humanize star:2400 格式化程序,用于将时间、数字和内存大小转换为可读格式。
- bluemonday star:1705 HTML 清理工具
- gofeed star:1471 在Go中解析RSS和Atom feeds。
- inject star:1280 包注入提供了一个基于反射的注入器。
- go-toml star:865 使用带有查询支持和方便的cli工具的TOML格式库。
- commonregex star:703 一组用于Go的公共正则表达式。
- slug star:603 URL 友好的 slug 化工具,支持多种语言
- dataflowkit star:433 Web抓取框架将网站转换为结构化数据。
- mxj star:408 将XML编码/解码为JSON或map[string]接口{};使用点符号路径和通配符提取值。替换x2j和j2x包。
- gommon/bytes 格式化二进制为字符串。
- gographviz star:397 解析Graphviz DOT语言。
- go-runewidth star:308 函数获取字符或字符串的固定宽度。
- htmlquery star:300 用于HTML的XPath查询包,允许您通过XPath表达式从HTML文档中提取数据或求值。
- gotext star:280 GNU gettext 工具
- goribot star:180 一个简单的golang spider/抓取框架,构建一个三行蜘蛛。
- goq star:179 声明式 HTML 编组,使用结构标签和 jQuery 语法 (使用 GoQuery).
- go-nmea star:132 用于Go语言的NMEA解析器库。
- html-to-markdown star:115 将HTML转换成Markdown
- sdp star:105 SDP:会话描述协议[RFC 4566]。
- go-zero-width star:92 用于Go的零宽度字符检测和删除。
- podcast star:80 在Golang兼容iTunes和RSS 2.0播客生成器
- editorconfig-core-go star:79 Editorconfig文件解析器和Go操作器。
- align star:65 对文本进行对齐的通用应用程序。
- go-slugify star:64 生成漂亮的固定链接地址(slug),支持多种语言
- github_flavored_markdown GitHub 风格的 Markdown 渲染器 (使用 blackfriday) ,支持代码块高亮以及可点击的锚点
- genex star:59 将正则表达式计数并展开为所有匹配的字符串。
- go-fixedwidth star:50 固定宽度的文本格式(带反射的编码器/解码器)。
- go-vcard star:48 解析和格式化vCard。
- guesslanguage star:48 通过一个 unicode 文本来猜测该文本使用的语言
- goregen star:46 根据正则表达式生成随机字符串
- allot star:45 用于CLI工具和机器人的占位符和通配符文本解析。
- did star:42 DID(分散标识符)解析器和Stringer。
- gonameparts star:32 将人名解析为单独的名称部分。
- Slugify star:28 字符串 slug 化的工具。
- pagser star:17 Pagser是一个简单的,可扩展的,可配置的解析和反序列化的html页面结构,基于goquery和结构标签的golang爬虫。
- codetree star:16 解析缩进代码(python、pixy、scarlet等)并返回树结构。
- enca star:10 libenca的最小cgo绑定。
- syndfeed star:7 Atom 1.0和RSS 2.0的联合提要。
- bbConvert star:6 将bbCode转换为HTML,使您可以添加对自定义bbCode标记的支持。
- doi star:5 文档对象标识符(doi)解析器。
- ltsv star:5 高性能LTSV(Labeled Tab Separated Value)。
- encdec star:3 软件包为编码器和解码器提供了通用接口。
- Utility
- xurls star:720 从文本中提取url。
- gotabulate star:252 使用 Go 语言简单、美观的打印表格数据
- radix star:164 快速字符串排序算法。
- parth star:38 URL路径分割解析。
- gofuckyourself star:29 一个基于 sanitization 的 Go 敏感词过滤器。
- regroup star:25 使用结构标记和自动解析将正则表达式命名组匹配到go结构中。
- xj2go star:20 将xml或json转换为struct。
- kace star:16 通用大小写转换工具
- Tagify star:13 从给定源生成一组标记。
- parseargs-go star:8 字符串参数解析器,能够理解引用及反斜杠。
- TySug star:8 关于键盘布局的其他建议。
- textwrap star:2 从Python实现“textwrap”模块。
第三方api
用于访问第三方api的库。 (翻译出错了? 试试 英文版 吧~)
- github star:6930 访问GitHub REST API v3的库。
- aws-sdk-go star:6181 AWS 提供的官方go语言 SDK
- google star:2453 为Go自动生成谷歌api。
- google-cloud star:2375 谷歌云api Go 客户端库。
- discordgo star:1586 Discord Chat API的客户端。
- stripe star:1246 Stripe API 的 Go 语言客户端
- minio-go star:1132 用于Amazon S3兼容云存储的Minio Go库。
- go-twitter star:1089 Twitter v1.1 api 的客户端.
- anaconda star:1064 Twitter 1.1 API 的 go 语言客户端
- facebook star:917 支持 Facebook Graph API 的库
- go-jira star:824 Go Atlassian JIRA的客户端库
- githubql star:717 访问GitHub GraphQL API v4的库。
- webhooks star:554 GitHub 和 Bitbucket 的Webhook接收器。
- paypal star:392 PayPal支付API的包装器。
- geo-golang star:377 Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs.
- go-marathon star:193 用于和 Mesosphere's Marathon PAAS 交互的 Go 语言库
- ethrpc star:187 Ethereum JSON RPC API的客户端。
- Trello star:153 Trello API的 Go 语言封装。
- Medium star:129 Medium的OAuth2 API 客户端。
- gostorm star:126 GoStorm是一个Go库,它实现了编写Storm spout和bolt所需的通信协议,这些协议用于与Storm shell通信。
- hipchat (xmpp) star:112 一个用于通过XMPP与HipChat通信的golang包。
- go-trending star:110 在Github上访问trends repository和developers的库。
- hipchat star:107 这个项目为Hipchat API实现了一个golang客户端库。
- wit-go star:93 wit.ai HTTP API 客户端。
- cachet star:84 使用客户端库Cachet(开源状态页系统)。
- pushover star:82 Go 包装的 Pushover API。
- igdb star:61 Internet Game Database API 客户端。
- clarifai star:57 Clarifai API的客户端。
- megos star:56 用于访问Apache Mesos集群的客户端库。
- twitter-scraper star:54 刮Twitter前端API没有认证和限制。
- circleci star:53 CircleCI的API的客户端
- gads star:49 Google Adwords 非官方 API
- gosip star:46 去客户端库SharePoint API。
- simples3 star:45 使用REST和用Go编写的V4签名的AWS S3库非常简单。
- amazon-product-advertising-api star:44 Amazon Product Advertising API的客户端库。
- go-xkcd star:41 xkcd API 的客户端。
- GoMusicBrainz star:41 Go MusicBrainz WS2客户端库。
- ynab star:40 YNAB API 的 Go 语言封装。
- uptimerobot star:39 运行时Robot v2 API 的 Go 语言封装和命令行客户端。
- gogtrends star:39 非官方的Google Trends API。
- fcm star:39 Firebase Cloud Messaging 的 Go 语言库
- mixpanel star:35 Mixpanel是一个库,用于跟踪事件并将Mixpanel概要文件更新从go应用程序发送到Mixpanel。
- golyrics star:34 Golyrics是一个从Wikia网站获取音乐歌词数据的Go库。
- golang-tmdb star:33 电影数据库API v3的Golang包装器。
- go-unsplash star:31 使用Unsplash.com API的客户端库。
- spotify star:30 用于接入 Spotify WEB API 的 Go 语言库
- translate star:30 Go 在线翻译包。
- gami star:29 Asterisk Manager Interface 的 Go 语言库
- gcm star:29 Google Cloud Messaging 库
- patreon-go star:23 Go Patreon API库。
- steam star:21 用于与Steam服务器进行交互的库。
- shopify star:21 一个用于通过 Shopify API 进行增删改查的 Go 语言库。
- go-twitch star:20 Twitch v3 API 的客户端。
- textbelt star:17 textbelt.com txt messaging API 的go语言客户端。
- go-myanimelist star:17 MyAnimeList API的客户端库。
- go-imgur star:17 Go imgur的客户端库
- brewerydb star:17 用于访问 BreweryDB API的 Go 语言库
- codeship-go star:16 Codeship API v2的客户端。
- lastpass-go star:15 使用LastPass API的客户端库。
- airtable star:13 去客户端库Airtable API。
- google-analytics star:12 简单的包装,方便的谷歌分析报告。
- coinpaprika-go star:11 Coinpaprika API的客户端。
- go-hacknews star:11 HackerNews API的小型Go客户端。
- smite star:10 对 Smite game API 的封装。
- go-here star:9 转到基于这里位置的api的客户端库。
- rrdaclient star:8 用于接入 statdns.com API 的库——RRDA API。通过HTTP协议进行 DNS查询。
- slack star:8 Slack API。
- google-play-scraper star:8 从谷歌播放存储获取数据。
- gomalshare star:8 Go library MalShare API malshare.com
- go-sophos star:8 无任何依赖的Sophos UTM REST API客户端
- go-postman-collection star:8 去模块工作与邮递员收集(兼容失眠)。
- gopaapi5 star:7 Go客户端库亚马逊产品广告API 5.0。
- google-email-audit-api star:7 谷歌G Suite Email Audit API 的客户端。
- go-telegraph Telegraph 发布平台 API 客户端。
- tumblr star:6 Tumblr v2 API 的 Go 语言封装。
- go-sptrans star:6 SPTrans Olho Vivo API 的客户端。
- zooz star:5 Zooz API 的 Go 语言客户端。
- go-chronos star:3 用于与Chronos作业调度程序进行交互的Go库
- libgoffi star:2 库适配器工具箱,用于本地libffi集成
- kanka star:2 Kanka API的Go客户端。
- TripAdvisor star:1 TripAdvisor API 的 Go 语言封装。
- vl-go star:1 使用客户端库中的VerifID身份验证层API。
- rawg-sdk-go star:1 去RAWG视频游戏数据库 API库
- playlyfe star:1 Playlyfe Rest API Go SDK。
公用事业公司
可以让你的生活变得更简单的实用工具.。 (翻译出错了? 试试 英文版 吧~)
- fzf star:32885 用Go编写的命令行模糊查找器。
- hub star:20482 封装了 git 命令,提供了额外的功能用于在终端中和 Github 进行交互。
- ctop star:10753 Top-like接口(例如htop), 用于容器数据收集。
- wuzz star:9212 用于HTTP检查的交互式cli工具。
- sqlx star:9210 为内建的数据库/sql 软件包提供一组扩展。
- goreleaser star:6470 尽可能快速的发布 Go 语言二进制文件。
- peco star:6087 简单的交互过滤工具。
- usql star:6015 usql 是一个通用的命令行接口,用于操作 sql 数据库。
- godropbox star:3907 用于编写 Go 语言服务/应用的库,来自 Dropbox.。
- realize star:3846 Go 语言构建系统,可以监控文件变化并重新加载。运行,构建,监控文件并支持自定义路径。
- hystrix-go star:2874 实现 Hystrix 风格的、程序员预定义的 fallback 机制(熔断。
- Task star:2867 简单的“Go”的选择。
- goreporter star:2767 进行代码静态分析,单元测试,代码检视并生成代码质量报告的工具
- panicparse star:2413 将类似的协程分组并对调用栈进行着色
- minify star:2395 用于HTML、CSS、JS、XML、JSON和SVG文件格式的快速缩小器。
- go-funk star:2170 现代 Go 语言工具库,提供了很多有用的工具 (map, find, contains, filter, chunk, reverse, ...)
- mc star:1663 Minio Client 提供了一组工具,用于操作 Amazon S3 兼容云存储和文件系统。
- Storm star:1638 一个简单又强大的用于 BoltDB 的工具
- mmake star:1524 现代 Make 工具
- mole star:1411 cli应用程序可以轻松创建ssh隧道。
- mergo star:1302 用于将结构体和map合并进 Go 语言的工具。对于配置默认值,避免杂乱的if语句很有帮助。
- spinner star:1263 一个 Go 语言软件包,提供多种选项,方便在终端中创建加载动画。
- boilr star:1204 非常快的CLI工具,用于从样板模板创建项目。
- filetype star:1184 通过数字签名来推测文件类型。
- jump star:926 通过学习你的习惯,可以帮助你更快地导航。
- circuitbreaker star:910 接通断路器。
- git-time-metric star:839 git-time-metric - 。
- immortal star:682 *nix 跨平台 (与操作系统无关的)监控程序。
- hostctl star:606 一个使用简单命令管理/etc/主机的CLI工具。
- htcat star:528 并行及流水线的 HTTP GET 工具。
- circuit star:504 一个高效和功能齐全的 类似 Hystrix Go 实现断路器模式。
- go-dry star:454 DRY(don't repeat yourself)库。
- godaemon star:452 用于编写守护进程的工具
- gopencils star:435 小而简单的包,可以轻松地使用REST api。
- ergo star:429 管理运行在不同端口上的多个本地服务变得很容易。
- koazee star:427 库的灵感来自于延迟计算和函数式编程,从而减少了使用数组的麻烦。
- request star:387 Go 语言版的 HTTP Requests for Humans™.。
- mimetype star:359 用于基于神奇数字的MIME类型检测的包。
- go-safe Panic-safe沙箱。
- go-rate star:316 Go 限速器。
- Deepcopier star:307 结构体拷贝
- clockwork star:303 一个简单的假 clock 。
- gubrak star:290 带有语法糖的Golang实用工具,就像lodash。
- retry star:257 基于上下文的功能机制,反复执行命令直到成功。
- gohper star:253 多种能够帮助你进行软件开发的工具和模块。
- serve star:227 任何您需要的静态http服务器。
- delve star:219 Go 语言调试器
- go-trigger star:207 Go 语言全局事件触发器,通过 id 和触发器,在程序的任何地方注册事件。
- util star:187 有用实用函数的集合。(字符串,并发,操作,…)
- gotenv star:187 从
.env
或者任何io.Reader
。 - go-bind-plugin star:166 Go:generate 工具,用于构建 Go 语言插件(1.8 only),并对导出的符号进行包装。
- Death star:164 利用信号管理应用程序的关闭。
- scany star:164 库扫描数据从数据库到Go structs和更多。
- rerun star:159 当源代码发生更改时,重新编译和重新运行go应用程序。
- moldova star:156 基于输入目标生成随机数据的工具
- toolbox star:154 切片, map, multimap, 结构体, 函数,数据转换工具。服务路由,宏求值和标记器。
- robustly star:147 有弹性的执行函数,遇到错误时捕获并重新运行。
- apm star:147 Go 语言进程管理工具具有HTTP API.。
- go-sitemap-generator star:146 用Go编写的XML站点地图生成器。
- chyle star:133 使用具有多种配置可能性的git存储库生成变更日志。
- create-go-app star:120 一个强大的CLI,用于通过运行一个命令创建一个后端服务(Golang),前端(JavaScript, TypeScript)和部署自动化(Ansible, Docker)的可生产项目。
- onecache star:113 支持多个后端存储(Redis、Memcached、文件系统等)的缓存库。
- lrserver star:112 LiveReload 服务器。
- go-bsdiff star:108 纯Go bsdiff和bspatch库和CLI工具。
- xferspdy star:82 Xferspdy在golang中提供二进制diff和补丁库。
- mssqlx star:81 数据库客户端,用于主-从 (或主-主) 数据库,集成了简单的、轻量级的轮询调度负载均衡。
- nostromo star:79 CLI用于构建强大的别名。
- pm star:79 进程(即goroutine)管理器与HTTP API。
- go-health star:76 健康包简化了向服务中添加健康检查的方式。
- goseaweedfs star:71 conseilSeaweedFS 客户端,几乎具有全部的特性。
- countries star:71 完整实现ISO-3166-1、ISO-4217、ITU-T E.164、Unicode CLDR和IANA ccTLD标准。
- repeat star:69 执行不同的后 backoff 策略,这对重新尝试操作和心跳非常有用。
- UNIS star:68 Go 语言字符串处理函数的通用架构 。
- netbug star:66 远程对你的服务进行性能分析
- taskctl star:65 并发任务跑。
- multitick star:63 用于 aligned tickers 的多路复用
- sorty star:61 快速并发/并行排序。
- handy star:60 许多实用程序和帮助程序,如字符串处理程序/格式化程序和验证器。
- mimemagic star:57 纯粹 Go 超性能MIME嗅探库/实用程序。
- minquery star:57 MongoDB / mgo.v2, 支持高效分页查询(用于继续列出我们停止的文档的游标)。
- go-astitodo star:56 解析你 Go 语言代码中的 TODOs(待办事项)。
- pattern-match star:54 模式匹配图书馆。
- goreadability star:52 网页摘要提取器使用Facebook开放图形和arc90的可读性。
- golog star:51 简单、轻量级的命令后工具,用于对你的计划任务进行跟踪。
- scan star:51 扫描golang的sql。行直接指向结构、片或基本类型。
- pgo star:46 用于PHP社区的 Convenient 函数。
- retry star:46 简单易用的重试机制包,为 Go 。
- copy-pasta star:46 通用多工作站剪切板,使用类似 S3 的后端作为存储。
- gaper star:45 当Go项目崩溃或一些人看到文件更改时,构建并重新启动该项目。
- mongo-go-pagination star:43 用于官方Mongodb /mongo-go驱动程序包的Mongodb分页,它支持正常的查询和聚合管道。
- goback star:43 一个 Go 语言的简单的指数补偿包。
- golarm star:43 告警(支持系统事件)。
- intrinsic star:42 不需要编写任何汇编代码就能使用 x86 SIMD。
- retry-go star:38 对 Go 来说,重试变得简单而容易。
- beyond star:38 Go工具将带你进入AOP的世界!
- gpath star:38 用于简化结构体域访问的库。
- dbt star:38 用于从中心可信存储库运行自更新签名二进制文件的框架。
- slice star:36 用于普通Go切片操作的类型安全函数。
- myhttp star:33 简单的API,使HTTP GET请求与超时支持。
- cmd star:33 用于在osx、windows和linux上执行shell命令的库。
- rclient star:32 可读、灵活、易于使用的REST api客户端。
- filter star:29 提供Go数据的过滤、清理和转换。
- evaluator star:27 基于 s-expression。它很简单,很容易扩展。
- gostrutils star:26 字符串操作和转换函数的集合。
- go-lock star:26 go-lock是一个锁库,它实现了读写互斥锁和读写尝试锁,而不需要等待。
- generate star:24 针对一个路径或环境变量,递归的执行 Go generate,可以通过正则表达式来进行过滤。
- ugo star:23 uGo 是一个切片工具箱,有着和 Go 语言一致的语法法。
- goplaceholder star:22 一个小巧的 Go 语言库用于生成占位图片。
- slicer star:22 使处理切片更容易。
- limiters star:20 Golang中的分布式应用程序速率限制器,具有可配置的后端和分布式锁。
- rerate star:18 基于 Redis 的速率计数器和限速器
- ghokin star:17 没有外部依赖的gherkin (cucumber, behat…)并行格式化程序。
- go-httpheader star:17 用于将结构体编码进 http 头的 Go 语言库
- structs star:16 简单来讲就是 "Make" 的替代品。
- ctxutil star:16 上下文工具。
- equalizer star:16 用Go实现的限流工具
- dlog star:16 编译时控制的日志,让你的 release 包变得更小而不需移除 debug 调用。
- filler star:15 使用“fill”标签填充结构的小工具。
- okrun star:15 Go 运行错误 steamroller。
- jsend star:14 在Go中编写JSend的实现。
- mimesniffer star:14 一个用于Go的MIME类型嗅探器。
- rest-go star:14 一个包,它为使用rest api提供了许多有用的方法。
- copy 包快速复制不同类型的struct。
- tome star:13 Tome设计用于对简单的RESTful api进行分页。
- command star:13 命令模式,支持线程安全的串行、并行调度。
- backscanner star:11 类似 bufio 的扫描器,但它以相反的顺序读取和返回行,从给定的位置开始,然后返回。
- shutdown star:11 ' os的应用程序关闭挂钩。信号的处理。
- retry star:11 一个相当简单的库,以确保您的工作可以完成。
- go-convert star:8 Package go-convert允许您将一个值转换成另一种类型。
- statiks star:7 快速,零配置,静态HTTP文件服务器。
- retry star:7 一个简单但高度可配置的Go重试包。
- go-problemdetails star:7 打包处理问题细节。
- go-countries star:6 对ISO-3166代码的轻量级查找。
- ptr star:6 提供函数的包,用于从基本类型的常量简化指针的创建。
- r 类似于python的“range()”经验。
- sliceconv star:5 基本类型之间的片转换。
- blank star:5 验证或删除字符串中的空白。
- nfdump star:4 读取nfdump netflow文件。
- silk star:4 阅读silk netflow文件。
- olaf star:2 Twitter Snowflake 在Go中实现。
- lets-go star:2 Go模块,为云本地REST API开发提供公共工具。还包含AWS特定的实用程序。
- tik star:1 简单和容易的时间轮包去。
UUID
用于处理uuid的库。 (翻译出错了? 试试 英文版 吧~)
- uuid star:2229 基于RFC 4122和DCE 1.1的uuid包:身份验证和安全服务。
- ulid star:2057 实现了ULID(普遍唯一的词典分类标识符)。
- uniq 没有麻烦,安全,快速的唯一标识符与命令。
- uuid star:848 通用唯一标识符(UUID)的实现。支持uuid的创建和解析。积极维护satori uuid的fork。
- wuid star:378 一个非常快的唯一数字生成器,比UUID快10-135倍。
- sno star:37 使用嵌入元数据的紧凑、可排序和快速的惟一id。
- goid star:29 生成和解析RFC4122兼容的V4 uuid。
- nanoid star:28 一个小而有效的Go唯一字符串ID生成器。
- uuid star:12 使用快速或加密质量的随机节点标识符生成、编码和解码UUIDs v1。
- gouid star:4 生成加密安全的随机字符串id,只有一个分配。
验证
库进行验证。 (翻译出错了? 试试 英文版 吧~)
- validator star:6471 Go 结构体及域验证,包括:跨域、跨结构体, Map, 切片和数组。
- govalidator star:4479 用于字符串,数字,切片和结构的验证器和sanitizers。
- ozzo-validation star:1756 支持各种数据类型(结构、字符串、映射、片等)的验证,使用可配置和可扩展的验证规则,这些规则在通常的代码构造中指定,而不是在结构标签中指定。
- govalidator star:939 用简单的规则验证Golang请求数据。深受Laravel请求验证的启发。
- validate star:329 Go 封装数据验证和过滤。支持验证映射、结构、请求(表单、JSON、url)。值,上载文件)数据和更多特性。
- checkdigit star:61 提供校验数字算法(Luhn, Verhoeff, Damm)和计算器(ISBN, EAN, JAN, UPC等)。
- validate star:50 这个包提供了一个框架,用于为Go应用程序编写验证。
- jio star:49 jio是一个json模式验证器,类似于joi。
- gody star:40 :一个轻量级的结构验证器。
- terraform-validator star:38 一种规范和约定验证器。
- govalid star:22 快速、基于标签的结构验证。
版本控制
用于版本控制的库。 (翻译出错了? 试试 英文版 吧~)
- go-git star:5017 纯Go中高度可扩展的Git实现。
- git2go star:1561 libgit2 的 Go 语言接口。
- hercules star:1142 从Git存储库历史中获得高级见解。
- gh star:75 用于GitHub webhook的可编写脚本的服务器和net/http中间件。
- go-vcs star:75 在Go中操作和检查VCS存储库。
- hgo star:13 Hgo是一组Go包的集合,提供对本地Mercurial存储库的读取访问。
视频
用于操作视频的库。 (翻译出错了? 试试 英文版 吧~)
- goav star:1410 FFmpeg的Comphrensive。
- m3u8 star:750 苹果HLS的M3U8播放列表解析器和生成器库。
- gmf star:638 FFmpeg av* 库的 Go 语言接口。
- go-astits star:331 在GO中解析和演示MPEG传输流(.ts)。
- go-astisub star:285 使用 Go 语言操作字幕(.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.)。
- libvlc-go star:159 Go绑定libvlc 2.X/3.X/4。X(由VLC媒体播放器使用)。
- gst star:158 GStreamer的Go工具。
- go-m3u8 star:65 苹果m3u8播放列表的解析器和生成器库。
- v4l star:47 用于Linux的视频捕捉库,用Go编写。
- libgosubs star:13 字幕格式支持 .srt、.ttml和.ass。
- go-mpd star:4 MPEG-DASH清单文件的解析器和生成器库。
Web框架
全栈 web 框架。 (翻译出错了? 试试 英文版 吧~)
- Gin star:43076 Gin是一个用Go编写的web框架!它具有一个类似于martini的API,性能更好,速度快40倍。
- Beego star:25212 beego是一种用于 Go 编程语言的开源高性能web框架。
- Buffalo 为 Go 语言带来堪比 Rails 的高生产效率!
- Echo star:18456 高性能、极简的Go web框架。
- Revel star:11962 用于Go语言的高效web框架。
- Fiber star:9725 一个灵感来自Express.js的web框架构建在Fasthttp上。
- Goa star:4001 Goa为在Go中开发远程api和微服务提供了一种全面的方法。
- go-json-rest star:3442 设置RESTful JSON API的快速简便方法。
- Gizmo star:3295 《纽约时报》使用的微服务工具包。
- Macaron star:3063 Macaron 是一个高效的模块化设计的web框架
- utron star:2169 Go(Golang)的轻量级MVC框架。
- tigertonic star:1000 用于构建 JSON web 服务的 Go 语言框架,受到 Dropwizard 的启发。
- tango star:836 微型的、支持插件的 web 框架。
- Goyave star:746 功能齐全的web框架旨在干净的代码和快速的开发,具有强大的内置功能。
- gongular star:437 快速 Go web 框架,支持输入映射/验证以及依赖注入。
- neo star:410 Neo是一个非常简单且快速的Web框架API。
- Air star:388 一个理想的精细化的Go web框架。
- Gearbox star:383 一个用Go编写的web框架,专注于高性能和内存优化。
- mango star:354 ManGo 是一个模块化 web 应用框架,受到 Rack 和 PEP333 的启发。
- Aero star:320 高性能的Go web框架,在Lighthouse中达到最高分。
- Gondola star:310 web框架写的网站越快越好。
- Golf star:245 Golf 是一个快速、简单、轻量级的 Go 语言微型 web 框架。具有强大的功能且没有标准库以外的依赖。
- Flamingo star:170 可插拔web项目的框架。包括模块的概念和提供DI、Configareas、i18n、模板引擎、graphql、可观察性、安全性、事件、路由和反向路由等功能。
- WebGo star:141 构建web应用程序的微框架;处理程序链接、中间件和上下文注入。与标准库兼容的HTTP处理程序(即http.HandlerFunc)。
- hiboot star:140 hiboot是一个高性能的web应用程序框架,支持自动配置和依赖注入。
- Ginrpc star:133 Gin参数自动绑定工具,Gin rpc工具。
- Flamingo Commerce star:125 提供使用干净的体系结构(如DDD和端口和适配器)的电子商务功能,您可以使用这些功能来构建灵活的电子商务应用程序。
- go-rest star:124 小型的 REST 框架。
- uAdmin star:116 受到 Sinatra 启发的 Go 语言 web 框架。
- Golax star:73 一个非Sinatra快速HTTP框架,支持谷歌自定义方法、深度拦截器、递归等。
- Microservice star:73 创建微服务的框架,用Golang编写。
- vox star:70 一个面向人类的golang web框架,深受Koa的启发。
- patron star:66 Patron是一个遵循最佳云实践的微服务框架,专注于提升开发效率。
- appy star:63 一个固执己见的高效web框架,有助于更容易地扩展业务。
- YARF star:58 快速微框架,旨在以快速和简单的方式构建REST api和web服务。
- Fireball star:53 感觉更加自然的 web 框架。
- aah 可伸缩、高性能、快速开发的Go Web框架。
- rux star:45 简单而快速的web框架,可用于构建golang HTTP应用程序
- goa star:39 goa就像golang中的koajs一样,是一个灵活、轻量级、高性能和可扩展的基于中间件的web框架。
- REST Layer 框架,用于在数据库之上构建REST/GraphQL API,主要是通过代码进行配置。
- Resoursea star:31 用于快速编写基于资源的服务的REST框架。
- rex star:30 Rex 是一个用于进行模块化开发的库,基于Gorilla/mux 完全兼容大多数的 net/HTTP.
- Banjo star:14 非常简单和快速的网络框架 Go 。
- goweb star:13 具有路由、websockets、日志、中间件、静态文件服务器(可选gzip)和自动TLS的Web框架。
中间件
仿真中间件
- Tollbooth star:1787 限制速率的 HTTP 请求处理程序。
- CORS star:1642 轻松地向API添加CORS功能。
- Limiter star:1120 简单的速度限制中间件。
- go-server-timing star:782 添加/解析Server-Timing头。
- go-fault star:374 Go的故障注入中间件。
- ln-paywall star:108 使用Lightning Network(比特币)实现基于每个请求的api货币化中间件。
- XFF star:76 处理 X-Forwarded-For 头的中间件。
- formjson star:36 透明地将JSON输入作为标准表单POST处理。
- client-timing star:18 用于服务器定时报头的HTTP客户机。
用于创建HTTP中间件的库
- negroni star:6824 符合语言习惯的 HTTP 中间件库。
- alice star:2150 用于连接中间件的库,简单无痛苦。
- render star:1383 Go package用于方便地呈现JSON、XML和HTML模板响应。
- stats star:574 使用中间件来存储关于web应用程序的各种信息。
- interpose star:289 golang的极简网络/http中间件。
- muxchain star:209 用于net/http的轻量级中间件。
- renderer star:206 简单、轻量级和更快的响应(JSON、JSONP、XML、YAML、HTML、文件)。
- rye star:95 支持JWT、CORS、Statsd和Go 1.7上下文的小型Go中间件库(带有罐装中间件)。
- gores star:93 处理HTML、JSON、XML等响应的Go包。对于RESTful api非常有用。
- mediary star:69 在http中添加拦截器。客户端允许转储/成型/跟踪/…的请求/响应。
- chain star:64 带有范围数据的处理程序包装器链接(基于网络/上下文的“中间件”)。
- go-wrap star:59 net/http的小型中间件包。
- catena star:7 HTTP.Handler wrapper catenation (和chain具有相同的 API ).。
路由器
- mux star:13068 强大的URL路由器和调度器为golang。
- httprouter star:11980 高性能路由。使用这个库和标准http处理工具可以构建一个非常高性能大web框架。
- chi star:8401 小巧、快速、具有丰富表达力的 HTTP 路由,基于net/context.。
- gocraft/web star:1431 Mux和中间件包在Go中。
- Bone star:1264 闪电快速HTTP多路复用器。
- fasthttprouter star:863 高性能路由器分叉从
httprouter
。第一个路由器适合fasthttp
。 - Goji star:835 枸杞是一种简约的和灵活的与支持'net/context` HTTP请求多路复用器。
- xujiajun/gorouter star:484 一个简单和快速的HTTP路由器 Go 。
- httptreemux star:455 高速,灵活,基于树的 HTTP 路由。受到了 httprouter 的启发。
- ozzo-routing star:387 一个非常快的Go (golang) HTTP路由器,支持正则表达式路由匹配。完全支持构建RESTful api。
- lars star:382 是一个轻量级、快速、可扩展、零分配的HTTP路由,用于创建定制化的框架。
- Siesta star:352 编写中间件和处理程序的可组合框架。
- vestigo star:264 高性能,独立,HTTP兼容的URL路由器的go web应用程序。
- gowww/router star:158 超快的HTTP 路由,完全兼容 net/HTTP.Handler 接口.。
- alien star:113 轻量级和快速http路由器从外层空间。
- pure star:109 是一个轻量级HTTP路由器,它坚持net/ HTTP“实现”的std。
- violetear star:100 HTTP路由器。
- Bxog star:97 简单和快速的HTTP路由器 Go 。它可以处理不同难度、长度和嵌套的路径。他还知道如何根据接收到的参数创建URL。
- xmux star:88 高性能mux基于httprouter 'net/context`支持。
- GoRouter star:85 GoRouter 是一个服务器/API 微型框架、HTTP 请求路由 router, 数据分选器,提供了支持net/context的中间件。
- bellt star:48 一个简单的Go HTTP路由器。
- FastRouter star:18 一个快速,灵活的HTTP路由器写在Go。
- goroute star:7 简单但功能强大的HTTP请求多路复用器。
WebAssembly
- tinygo star:7082 去编译小地方。微控制器、网络组装和命令行工具。基于LLVM。
- dom star:421 DOM库。
- go-canvas star:94 库使用HTML5画布,与所有绘画内的go代码。
- webapi star:66 从WebIDL生成的DOM和HTML的绑定。
- wasmbrowsertest star:65 在浏览器中运行Go WASM测试。
- vert star:45 Go和JS值之间的互操作。
Windows
- go-ole star:678 为 Go 语言实现的 Win32 OLE。
- d3d9 star:112 Direct3D9 的 Go 语言接口。
- gosddl star:4 从SDDL-string到用户友好的JSON的转换器。SDDL由四个部分组成:所有者、主群、DACL、SACL。
XML
用于操作XML的库和工具。 (翻译出错了? 试试 英文版 吧~)
- zek star:423 从XML生成Go结构。
- xpath star:343 Go的XPath包。
- xquery star:154 XQuery允许您使用XPath表达式从HTML/XML文档中提取数据。
- xml2map star:25 XML来映射转换器编写的Golang。
- XML-Comp star:16 简单的命令行XML比较器,生成文件夹、文件和标记的差异。
- xmlwriter star:12 基于libxml2的xmlwriter模块的过程性XML生成API。
工具
- Go 软件和插件。 (翻译出错了? 试试 英文版 吧~)*
代码分析
- GoLint star:3715 Go 源码的 linter。
- Golint online Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
- errcheck star:1603 Errcheck是一个用于检查Go程序中未检查错误的程序。
- gcvis star:990 实时可视化跟踪 GC 数据。
- go-critic star:816 源代码检查工具。
- php-parser star:767 用 Go 编写的 PHP 解析器。
- staticcheck 用于大量静态分析检查,您可能已经从 c# 的 ReSharper 等工具中习惯了这些检查。
- goast-viewer star:478 基于 Web 的 Golang AST 可视化工具。
- goimports 来修复(添加,删除) Go 中自动导入的工具。
- GolangCI GolangCI 是一个针对 GitHub pull 请求的自动代码审查服务。服务是开源的,对开源项目是免费的。
- GoCover.io GoCover.io 提供了任意 golang 包的代码覆盖率服务。
- go-mod-outdated star:438 找出项目中过期的依赖项。
- go-cleanarch star:387 go-cleanarch 的创建是为了验证 Clean 体系结构规则,比如 Go 项目中的依赖关系。
- unconvert star:303 在源码中删除不必要的类型转换。
- unused 对未使用的常量、变量、函数和类型的代码进行检查。
- GoPlantUML star:262 生成文本plantump类图的库和CLI,其中包含关于结构和接口的信息,以及它们之间的关系。
- goreturns 添加 zero 返回声明,以匹配 func 返回类型。
- gosimple gosimple 是 Go 源代码的linter,专门用于简化代码。
- gostatus star:244 用于显示包含 Go 包的存储库的状态的命令行工具,。
- tickgit star:227 CLI和go包用于显示代码注释TODOs(以任何语言)并应用“git blame”来识别作者。
- dupl star:214 用于代码克隆检测的工具。
- apicompat star:171 检查 Go 项目最近的向下不兼容修改。
- go-checkstyle star:109 checkstyle是一个类似于java checkstyle的检查工具。
- golines star:73 格式化程序,它自动缩短Go代码中的长行。
- lint star:66 将 linters 作为测试的一部分。
- validate star:60 使用 tags 自动验证结构体字段。
- go-outdated star:44 显示过期包的终端应用。
- tarp star:14 在源码中寻找没有直接单元测试的函数和方法。
编辑器插件
- vim-go star:12784 Go 开发会用到的 Vim 插件。
- gocode star:4890 Autocompletion daemon for the Go programming language.
- GoSublime star:3376 包含了可为文本编辑器 SublimeText 3 提供代码自动填充和其他类似IDE的功能的 Golang IDE 插件集合。
- go-plus star:1516 在 Atom 中添加自动完成,格式化,语法检查,高亮和审查。
- vscode-go star:1131 Visual Studio代码的扩展(VS代码),它提供了对Go语言的支持。
- go-mode star:1119 在 GNU/Emacs 支持 GO。
- Watch star:177 Runs a command in an acme win on file changes.
- vim-compiler-go star:85 在保存时突出显示语法错误的 Vim 插件。
- Go plugin for JetBrains IDEs JetBrains IDEs 的 Go 插件。
- go-language-server star:32 A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.
- gounit-vim star:19 基于函数或方法的签名生成Go测试的Vim插件。
- goimports-reviser star:16 用于导入的格式化工具。
- goprofiling 在 VS Code 中支持 Go 的基准分析。
- theia-go-extension star:15 在 Theia IDE中支持 Go。
Go 生成工具
- gotests star:2894 从源代码生成测试用例。
- genny star:1298 优雅的 Go 泛型。
- re2dfa star:183 将正则表达式转换为有限状态机,并输出 Go 源代码。
- TOML-to-Go 在浏览器中将 TOML 转换为 Go 类型。
- gocontracts star:62 通过同步代码和文档来实现 design-by-contract 设计。
- gonerics Go中的易用的泛型。
- hasgo star:55 可生成用于切片的 Haskell。
- xgen star:50 XSD (XML模式定义)解析器和Go/C/Java/Rust/TypeScript代码生成器。
- gounit star:45 使用您自己的模板生成Go测试用例。
- generic star:34 灵活的 Go 数据类型。
Go 工具
- go-swagger star:5796 基于 Go 的Swagger 2.0实现。
- OctoLinker star:4533 借助的 OctoLinker 浏览器扩展,可以高效的地浏览 GitHub go文件。
- go-callvis star:2894 使用 dot format 可视化 Go 程序的调用图。
- gb 一个基于项目的易用的构建工具。
- depth star:547 通过分析导入,将包依赖关系树可视化输出。
- richgo star:501 用文本装饰丰富 go test 的输出。
- rts star:206 从服务器响应生成Go结构。
- godbg star:170 实现了 Rusts 的 dbg! 宏,可以方便的在开发过程中快速、容易地调试。
- gomodrun 执行并缓存Go中包含的二进制文件的Go工具。国防部文件。
- typex star:125 检查Go类型及其传递依赖关系,或者将结果导出为TypeScript值对象(或类型)声明。
- colorgo star:106 将 go 命令包装成彩色的 go build 输出。
- gothanks star:92 GoThanks自动帮你开始。mod github依赖,以这种方式发送一些爱给他们的维护者。
- go-pkg-complete star:37 Bash completion for go and wgo。
- go-james star:35 去项目骨架创造者,建立和测试您的项目没有手动设置。
- igo star:34 一个igo to go transpiler (go语言的新语言功能!)
- gilbert 一个为 Go 项目而生的构建系统和任务运行器。
- generator-go-lang star:22 一个Yeoman生成器,用于启动新的 Go 项目。
软件包
用Go编写的软件。 (翻译出错了? 试试 英文版 吧~)
DevOps 工具
- kubernetes star:71517 来自谷歌的容器集群管理器。
- Moby star:58833 Collaborative project for the container ecosystem to assemble container-based systems.
- gitea-github-migrator 将所有GitHub repositories、issues、milestones 和 labels 都迁移到 Gitea。
- Gitea star:21968 从 Gogs fork,完全由社区驱动。
- Vegeta star:15791 HTTP负载测试工具和库。超过9000 !
- Hey star:9501 压力测试工具,可用来代替 ApacheBench (ab)。
- Wide 为使用 Golang 的团队提供基于 web 的 IDE。
- webhook star:5869 允许用户创建在服务器上执行命令的 HTTP hooks。
- GVM star:5757 GVM 提供了一个接口来管理 Go 版本。
- gaia star:4254 可用于任何编程语言来构建强大的管道。
- gox star:3898 非常简单,没有多余的跨平台编译工具。
- bosun star:3074 按照时间轴发出告警的框架。
- bombardier star:2373 快速跨平台 HTTP 基准测试工具。
- Pomerium star:2056 Pomerium是一个可识别身份的访问代理。
- fac star:1677 修复 git 合并冲突。
- goxc star:1656 专注于跨平台编译和打包的 Go 构建工具。
- script star:1620 让DevOps编写类shell和系统管理任务变得更加容易。
- kala star:1557 简单、现代和高性能的作业调度程序。
- StatusOK star:1408 监视您的网站和REST api。当服务器宕机或响应时间超过预期时,通过Slack、电子邮件获得通知。
- s3gof3r star:1069 小型实用程序/库,针对大型对象在Amazon S3中的高速传输进行了优化。
- go-selfupdate star:771 允许你的 Go应用程序 进行自我更新。
- skm star:655 SKM是一个简单而强大的SSH密钥管理器,它可以帮助您轻松地管理多个SSH密钥!
- Scaleway-cli star:634 从命令行管理 BareMetal 服务器(与使用Docker一样容易)。
- aurora star:479 基于web的跨平台 Beanstalkd 队列服务器控制台。
- s5cmd star:475 非常快的S3和本地文件系统执行工具。
- cassowary star:457 用Go编写的跨平台HTTP负载测试工具。
- gonative star:324 用原生 Go 创建一个跨平台的 Go 工具链。
- govvv 可轻松地添加版本信息到 Go 二进制文件。
- trubka star:285 一个CLI工具,用于管理和故障排除Apache Kafka集群,具有通用发布/使用协议缓冲区和与Kafka之间的纯文本事件的能力。
- Mora star:280 用于访问 MongoDB 文档和元数据的 REST 服务器。
- uTask star:276 对yaml中声明的业务流程进行建模和执行的自动化引擎。
- lstags star:266 提供了工具和API,可用来同步不同注册中心的Docker图像。
- Pewpew star:253 灵活的 HTTP 命令行压测工具。
- dogo star:228 监视源文件中的更改并自动编译和运行(restart)。
- Gogs 自托管的Git服务。
- godbg star:222 基于 web 的 gdb 前端应用程序。
- manssh star:222 manssh是一个命令行工具,可以方便地管理ssh别名配置。
- jcli star:210 詹金斯CLI允许你管理你的詹金斯作为一个简单的方法。
- Blast star:189 一个用于API负载测试和批处理作业的简单工具。
- gobrew star:177 gobrew 允许您轻松地在 go 的多个版本之间切换。
- ostent star:168 收集和显示系统指标,并可选 Graphite and/or fluxdb作为依赖。
- Packer 用于从一个源配置为多个平台创建相同的机器图像。
- easyssh-proxy star:160 Golang package for easy remote execution through SSH and SCP downloading via
ProxyCommand
. - grapes star:149 旨在轻松地通过ssh分发命令的轻量级工具。
- kcli star:136 用于检查kafka主题/分区/消息的命令行工具。
- terraform-provider-openapi star:126 Terraform provider plugin,它根据OpenAPI文档(以前称为swagger文件)在运行时动态配置自身,该文档包含了公开的api的定义。
- traefik 反向代理和负载均衡器,支持多个后端。
- winrm-cli star:103 在Windows机器上远程执行命令的Cli工具。
- Dockerfile-Generator star:88 一个go库和一个可执行文件,它使用各种输入通道生成有效的Dockerfiles。
- go-furnace star:78 用Go编写的托管解决方案,可轻松地在AWS、GCP或DigitalOcean上部署应用程序。
- drone-scp star:77 通过 SSH 进行文件拷贝。其中 SSH 通过二进制文件、docker 或 Drone CI触发。
- Dropship star:55 通过 cdn 部署代码的工具。
- Rodent star:31 管理Go版本、项目和跟踪依赖项。
- drone-jenkins star:30 使用二进制文件、docker或 Drone CI 来触发下游Jenkins作业。
- awsenv star:26 可以为 profile 加载Amazon (AWS)环境变量的轻量二进制文件。
- lwc star:25 UNIX wc命令的实时更新版本。
- s3-proxy star:24 具有GET、PUT和DELETE方法和身份验证(OpenID连接和基本身份验证)的S3代理。
- DepCharge star:14 Helps orchestrating the execution of commands across the many dependencies in larger projects.
- sg star:6 可测试一组HTTP极限(如ab),可以在每个调用之间使用响应代码和数据,根据之前的响应来确定特定的服务器压力。
- aptly star:3 Debian存储库管理工具。
其他软件
- restic star:11199 消除重复项备份程序。
- Seaweed File System star:10939 快速、简单、可伸缩的分布式文件系统,采用了O(1)磁盘查找。
- croc star:10769 轻松、安全地将文件或文件夹从一台计算机发送到另一台计算机。
- Docker 面向开发人员和系统管理员的分布式应用程序的开放平台。
- confd star:7216 使用 etcd 或 consul 的模板和数据管理本地应用程序配置文件。
- Comcast star:6778 模拟坏的网络连接。
- LiteIDE star:6219 简单的、开源的、跨平台的Go IDE。
- drive star:5683 基于命令行的谷歌驱动器客户端。
- tsuru Extensible and open source Platform as a Service software.
- toxiproxy star:4973 为自动化测试模拟网络和系统条件的代理。
- orange-cat 用Go编写的Markdown预览器。
- nes star:4624 任天堂娱乐系统(NES)模拟器。
- Duplicacy star:3465 跨平台网络和云备份工具。
- myLG star:2379 命令行网络诊断工具。
- GoBoy star:2255 用 Go 编写的任天堂Game Boy彩色模拟器。
- Stack Up star:2213 Stack Up 是一个超级简单的部署工具 — 只面向Unix。
- syncthing 开放,分散的文件同步工具和协议。
- lgo star:2076 与 Jupyter 可进行交互 Go 程序。它支持代码完成、代码检查以及与Go 100% 兼容性。
- limetext 一个强大而优雅的文本编辑器。
- scc star:1865 一个非常快速准确的代码计数器,采用了复杂的计算和 COCOMO 预估。
- Circuit star:1859 Circuit 是一个可编程平台即服务(PaaS)和/或基础设施即服务(IaaS),用于管理、发现、同步和编排包含云应用程序的服务和主机。
- snap star:1795 强大的遥测框架。
- Documize star:1207 集成了SaaS工具数据的现代wiki软件。
- Go Package Store star:891 App that displays updates for the Go packages in your GOPATH.
- peg star:735 解析表达式语法,是Packrat解析器生成器的实现。
- vFlow star:729 高性能、可伸缩和可靠的 IPFIX、sFlow和 Netflow 收集器。
- Leaps star:690 使用操作转换的成对编程服务。
- shell2http star:656 通过http服务器执行shell命令(用于原型或远程控制)。
- gfile star:583 通过WebRTC在两台计算机之间安全地传输文件,不需要任何第三方依赖。
- hugo 快速、现代的静态网站引擎。
- Guora star:484 一个用Go编写的类似Quora的自托管web应用程序。
- mockingjay star:463 一份配置文件中便可伪造HTTP服务器与用户之间的行为。您还可以使服务器随机宕机,以帮助进行更实际的性能测试。
- Gebug star:434 一个工具,通过启用调试器和热重新加载特性,使docker化的Go应用程序的调试非常容易,无缝。
- gocc star:432 Gocc是一个用Go编写的编译器工具包。
- go-peerflix star:412 视频流 torrent 客户端。
- ipe star:307 Open source Pusher server implementation compatible with Pusher client libraries written in GO.
- wellington star:297 Sass 项目管理工具,使用sprite函数(如Compass)扩展语言。
- ide star:259 基于浏览器的IDE
- Cherry star:227 微型网络聊天服务器。
- woke star:161 检测源代码中不包含的语言。
- Juju Cloud-agnostic的服务部署和编制 —— 支持EC2、Azure、Openstack、MAAS等。
- joincap star:149 用于合并多个pcap文件的命令行实用程序。
- Orbit star:140 一个根据模板来运行命令和生成文件的简单小工具。
- borg 基于终端的bash代码段搜索引擎。
- Better Go Playground 使用语法高亮显示、代码完成和其他功能。
- vaku star:92 用于库中基于文件夹的函数(如复制、移动和搜索)的CLI和API。
- boxed star:71 基于Dropbox的博客引擎。
- dp star:62 通过SDK与区块链进行数据交换,开发人员可以轻松访问DAPP开发。
- naclpipe star:21 基于加密管的简单的NaCL EC25519工具。
- term-quiz star:17 测试你的终端。
- Snitch star:15 当有人通过 Tsuru 部署任何应用程序时,会通知您的团队以及其他工具。
- Gor Http 流量复制工具,用于实时回放从生产环境到阶段/开发环境的流量。
- GoLand 功能齐全的跨平台 Go IDE。
- GoDocTooltip star:13 包含了 Go 使用手册文档的 Chrome 扩展。
资源
在哪里可以找到新的Go库。 (翻译出错了? 试试 英文版 吧~)
基准
- go-http-routing-benchmark star:1438 HTTP请求路由器基准测试和比较。
- go-web-framework-benchmark star:1335 web框架基准测试。
- go_serialization_benchmarks star:1048 Go序列化方法的基准测试。
- gocostmodel Go语言常用基本操作的基准测试。
- skynet star:971 天网 1M 线程微基准测试。
- speedtest-resize star:200 对比各种图像大小调整算法性能。
- go-benchmarks star:136 Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches
- gospeed star:105 计算语言结构的速度的微观基准测试。
- autobench star:90 用来来比较不同Go版本之间的性能的框架。
- golang-sql-benchmark star:53 为流行的 Go 数据库/SQL实用程序收集基准测试。
- go-benchmark-app star:21 强大的HTTP基准测试工具,包含了Аb,Wrk,Siege工具。收集统计和各种参数指标,并比较相关结果。
- kvbench star:19 K / V 类型数据库基准测试。
- go-json-benchmark star:4 JSON的基准。
会议
- Capital Go 华盛顿特区。,美国。
- GopherCon Europe 德国柏林。
- GothamGo 美国纽约市。
- GopherCon Vietnam 越南胡志明市。
- GopherCon Singapore 新加坡枫树商贸城。
- GopherCon Russia 莫斯科,俄罗斯。
- GopherCon Israel 特拉维夫,以色列。
- GopherCon India 印度浦那。
- GopherCon Brazil 弗洛,BR。
- dotGo 巴黎,法国。
- GopherCon Australia 澳大利亚悉尼。
- GopherCon 美国丹佛。
- GopherChina 上海,中国。
- GolangUK 伦敦,英国。
- GoLab 佛罗伦萨,意大利。
- GoDays 德国柏林。
- GoCon 东京,日本。
- GoWayFest 白俄罗斯明斯克。
E-Books
- A Go Developer's Notebook
- An Introduction to Programming in Go
- Build Web Application with Golang
- Building Web Apps With Go
- For the Love of Go 为围棋初学者准备的一系列入门书籍。
- Go 101 一本关注 Go 语法/语义和各种细节的书。
- Go Bootcamp
- GoBooks star:8481 一份精选的 Go 书籍清单。
- Go Succinctly star:18 in Persian.
- Learning Go
- Network Programming With Go
- Spaceship Go A Journey to the Standard Library
- 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:2048 由 Maria Letta 提供的与 Gopher 有关的图片包,其中包含了插图,表情文字。
- gopher-logos star:80 可爱的 gopher 标识。
- Go-gopher-Vector star:36 与 Go gopher 相关的媒介数据[。ai . svg)。
- gopher-stickers
- gopher-vector
- gophericons
- gophers star:2307 阿什莉·麦克纳马拉的歌斐艺术品。
- gophers star:2170 Free gophers.
- gopherize.me star:459 Gopherize自己。
- gophers star:61 Gopher amigurumi玩具图案。
- gophers star:54 随机gopher图形。
聚会
- Basel Go Meetup
- Belfast Gophers
- Berlin Golang
- Brisbane Gophers
- Canberra Gophers
- Go Language NYC
- Go London User Group
- Go Remote Meetup
- Go Toronto
- Go User Group Atlanta
- GoBandung
- GoBridge, San Francisco, CA
- GoCracow - Krakow, Poland
- GoJakarta
- Golang Amsterdam
- Golang Argentina
- Golang Baltimore, MD
- Golang Bangalore
- Golang Belo Horizonte - Brazil
- Golang Boston
- Golang Bulgaria
- Golang Cardiff, UK
- Golang Copenhagen
- Golang Curitiba - Brazil
- Golang DC, Arlington, VA
- Golang Dorset, UK
- Golang Estonia
- 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 North East
- Golang Paris
- Golang Pune
- Golang Singapore
- Golang Stockholm
- Golang Sydney, AU
- Golang São Paulo - Brazil
- Golang Taipei
- Golang Turkey
- Golang Vancouver, BC
- Golang Vienna, Austria
- 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) (翻译出错了? 试试 英文版 吧~)
风格指南
社交媒体
网站
- Go Projects wiki上的 Go 社区项目列表。
- awesome-awesomeness star:26871 其他 awesome 系列的列表。
- CodinGame 以小游戏互动完成任务的形式来学习 Go。
- Go Blog 官方 Go 博客。
- Go Challenge 通过解决问题并从 Go 专家那里得到反馈来学习 Go。
- Go Code Club 一群地鼠每周阅读和讨论一个不同的Go项目。
- Go Community on Hashnode Hashnode上的Go社区。
- Go Forum 讨论 Go 的论坛。
- Go In 5 Minutes 5 minute screencasts focused on getting one thing done.
- Go Report Card 为你的 Go 包生成一份报告单。
- go.dev 一个围棋开发者的中心。
- Awesome Remote Job star:19436 Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
- Gophercises 为 Go 初学者提供免费的代码训练。
- golang-nuts Go 邮件列表。
- golang-graphics star:142 收藏的 Go 图像,图形和艺术作品。
- Lille Gophers Golang在法国里尔谈论社区(@LilleGophers)。
- gowalker.org Go API 文档。
- json2go 高级JSON去结构转换-在线工具。
- justforfunc 致力于传授 Go 编程语言技巧和技巧的Youtube 频道,由Francesc Campoy @francesc主办。
- Gopher Community Chat 加入我们为Gophers设立的全新Slack社区(了解它是如何产生的)。
- Google Plus Community Google+社区 golang爱好者聚集地。
- Awesome Go @LibHunt 属于你的 Go 工具箱。
- Golang News 关于 Go 编程的链接和新闻。
- Golang Flow 发布更新、新闻、包等等。
- Golang Developer Jobs 开发人员的工作专为Golang相关的角色。
- godoc.org 开源 Go 包的文档。
- gocryforhelp star:38 专门收集需要帮助的Go项目,这是你开启开源之路的好去处。
- Made with Golang
- r/Golang 与 Go 有关的新闻。
- studygolang Go语言中文网
- Trending Go repositories on GitHub today 寻找最新的 Go库 的好地方。
- TutorialEdge - Golang
教程
- Build web application with Golang star:36003 Golang电子书,主要讲述如何用 Golang 建立一个web应用程序。
- Building and Testing a REST API in Go with Gorilla Mux and PostgreSQL 我们会写一个API的帮助下强大的大猩猩Mux。
- 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:693 一本讲述如何用 Go 进行以太开发的小册。
- Games With Go 关于编程和游戏开发系列教学视频。
- Go By Example 手把手教你 如何在 Go 应用程序中使用注释。
- Go Cheat Sheet Go's reference card。
- Go database/sql tutorial 数据库概论/ sql。
- Go Playground for iOS 在你的移动设备上编辑你编辑和运行你的 Go 代码。
- 50 Shades of Go Go 初学者经常遇到的陷阱、误区、错误
- A Guide to Golang E-Commerce 教你如何用 Go 搭建一个电商平台 (包括demo)。
- A Tour of Go 互动的 Go 之旅。
- Design Patterns in Go star:27 在Go中实现的编程设计模式的集合。
- Go WebAssembly Tutorial - Building a Simple Calculator
- go-patterns star:13987 策划的清单去设计模式,食谱和习惯用法。
- Learn Go with TDD star:12251 学习使用测试驱动开发。
- Learning Golang - From zero to hero 面向 Golang 初学者教程。
- package main 关于 Go 编程的YouTube频道。
- Programming with Google Go Coursera的专业学习可以从零开始。
- Golang for Node.js Developers star:1361 引入示例讲述 Golang 与Node.js在学习上的差异。
- Golangbot Go 编程教程。
- GolangCode 收集代码片段和教程,以帮助处理日常问题。
- GopherSnippets 带有测试和可测试示例的代码片段,用于Go编程语言。
- Hackr.io Go社区投票选举出来的最好的在线 Go 教程。
- How to Benchmark: dbq vs sqlx vs GORM 学习如何在Golang中进行基准测试。作为案例研究,我们将对dbq、sqlx和GORM进行基准测试。
- How To Deploy a Go Web Application with Docker 学习如何使用Docker进行Go开发,以及如何构建Docker生产镜像。
- How to Use Godog for Behavior-driven Development in Go 快速使用Godog —— 一个行为驱动开发的构建和测试应用程序框架。
- goapp star:193 关于构建和开发Go web应用/服务的指南。
- The world’s easiest introduction to WebAssembly with Golang
- Working with Go star:1163 由一个经验丰富的Go程序员群体编写的一系列Go学习范例。
- Your basic Go 如何收集大量的教程。