489 KiB
Awesome Go
此项目是 awesome-go 中文版,最后一次同步时间 : 2021-04-12 07:05:07(每隔1天同步一次)
精选了一系列很棒的Go框架、库和软件。灵感来自于awesome-python。
小图标说明 :
小图标 | 说明 |
---|---|
star > 2000 | |
最近一周有更新。可以基本判断当前库处于积极维护状态。 | |
最近一年没有更新。反应了此库的维护积极性不高,使用时需谨慎。 | |
此项目已归档,不再更新,使用时需谨慎。 | |
此项目有中文文档。 | |
godoc文档地址。 |
说明
赞助
你可以快速浏览贡献者名单contribution guidelines. 感谢所有为此项目付出的同学contributors; 你真棒!
如果您在看到一个包或项目不再维护或不适合,请往awesome-go提交Pull Request,本项目每隔一天与英文文档同步。感谢!
A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.
贡献
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:795 多平台的 low-level 声音播放库。
- PortAudio star:446 基于 Go 的PortAudio audio I/O库。
- music-theory star:336 基于 Go 的音乐理论模型。
- waveform star:336 通过音频流生成波形图像的包。
- portmidi star:254 PortMidi的 Go 语言实现接口.
- id3v2 star:186 ID3解码和编码库为Go。
- flac star:150 原生 Go FLAC编码器/解码器,支持FLAC流。
- malgo star:140 迷你音频库。
- mix star:138 基于序列的 Go 原生音乐混音器。
- GoAudio star:124 本地Go音频处理库。
- gaad star:82 原生 Go AAC位流解析器。
- minimp3 star:55 轻量级MP3解码器库。
- vorbis star:28 “原生” Go Vorbis解码器(使用CGO,但没有依赖关系)。
- gosamplerate star:10 libsamplerate 的 Go 语言实现接口。
身份验证和OAuth
用于实现验证方案的库。 (翻译出错了? 试试 英文版 吧~)
- casbin star:8998 支持ACL、RBAC、ABAC等访问控制模型的授权库。
- oauth2 star:3584 goauth2的继任者。通用OAuth 2.0包,附带JWT、谷歌api、计算引擎和应用程序引擎支持。
- goth star:3127 提供了 OAuth 和 OAuth2 的简单清晰易用的方法。可开箱即用处理多个提供程序。
- authboss star:2618 web模块化认证系统。它试图删除尽可能多的模板文件和硬编码,以便每次新建一个新的web项目时,您都可以插入、配置并开始构建您的应用程序,而不必每次都构建一个身份验证系统。
- loginsrv star:1768 JWT登录微服务带有可插拔的后端服务,如OAuth2 (Github)、htpasswd、osiam。
- go-jose star:1745 相当完整地实现了JOSE工作组的JSON Web令牌、JSON Web签名和JSON Web加密规范。
- go-oauth2-server star:1730 用 Golang 编写的独立且符合规范的OAuth2服务器。
- osin star:1659 OAuth2服务器库。
- gologin star:1362 用于使用OAuth1和OAuth2身份验证提供者登录的可链处理程序。
- gorbac star:1156 轻量级的基于角色的访问控制(RBAC)实现。
- scs star:862 HTTP服务器的会话管理器。
- paseto star:491 平台无关的安全令牌(PASETO)。
- permissions2 star:424 用于跟踪用户、登录状态和权限的库。依赖于cookie安全和bcrypt。
- jwt star:246 轻量级JSON Web令牌库。
- jwt star:243 安全、简单、快速的JSON Web令牌。
- go-guardian star:229 Go-Guardian是一个golang库,它提供了一种简单、干净和习惯的方式来创建强大的现代API和web身份验证,支持LDAP、Basic、承载令牌和基于证书的身份验证。
- jeff star:225 简单、灵活、安全和惯用的web会话管理,具有可配置化的后端。
- jwt-auth star:205 JWT中间件,可用于Golang http服务器,提供了许多配置选项。
- httpauth star:202 HTTP身份验证中间件。
- branca star:148 基于 Go 实现Branca令牌。
- sessionup star:109 简单但有效的HTTP会话管理和标识包。
- session star:108 web服务器会话管理(包括支持谷歌应用程序引擎 - GAE)。
- jwt star:90 简单易用的JSON Web令牌实现(JWT)。
- sjwt star:86 简单的jwt生成器和解析器。
- rbac star:78 最小的RBAC包。
- sessions star:58 非常简单,高性能,可深度定制的会话服务,主要用于的 go http 服务器。
- securecookie star:47 高效安全的cookie编码/解码。
- otpgo star:18 基于时间的一次性密码(TOTP)和基于hmac的一次性密码(HOTP)库用于Go。
- go-email-normalizer star:14 Golang库,用于提供电子邮件地址的规范表示。
- scope star:11 在Go中轻松管理OAuth2范围。
- sessiongate-go star:9 使用SessionGate Redis模块进行会话管理。
- cookiestxt star:6 提供cookie .txt文件格式的解析器。
Bot建设
用于构建和使用机器人的库。 (翻译出错了? 试试 英文版 吧~)
- olivia star:2885 用人工神经网络建造的聊天机器人。
- telegram-bot-api star:2801 简单轻量级的Telegram bot客户端。
- telebot star:1777 用Go编写的Telegram bot框架。
- go-chat-bot star:668 用 Go 编写的IRC, Slack和电报机器人。
- go-joe 一个通用的机器人库的灵感来自于Hubot,但写在围棋。
- Kelp star:601 官方交易和做市机器人为Stellar DEX。开箱即用的作品,用 Golang 编写,兼容集中交易和定制交易策略。
- slacker star:500 可简单创建Slack机器人的框架。
- Golang CryptoTrading Bot star:494 基于控制台的,用于加密货币交易所的的交易机器人。
- tbot star:304 带有类似于net/http API的Telegram bot服务器。
- go-sarah star:189 此框架提供了聊天机器人相关的服务,包括LINE、Slack、Gitter等。
- Tenyks star:170 面向服务的IRC bot,使用Redis和JSON进行消息传递。
- go-twitch-irc star:158 Libary为twitch编写机器人程序。电视聊天
- hanu star:129 用于编写Slack机器人的框架。
- go-tgbot star:106 由swagger文件、基于会话的路由器和中间件生成的纯Golang Telegram Bot API包装器。
- margelet star:64 构建电报机器人的框架。
- ephemeral-roles star:42 用于管理基于语音通道成员存在的临时角色的不和机器人。
- slackscot star:41 另一个构建Slack机器人的框架。
- govkbot star:36 简单的Go VK bot库。
- slack-bot star:30 为懒惰的开发者准备好使用Slack Bot:自定义命令,Jenkins, Jira, Bitbucket, Github…
- micha star:18 基于 GO 实现的Telegram 机器人API库。
构建自动化
帮助构建自动化的库和工具。 (翻译出错了? 试试 英文版 吧~)
- realize star:3976 Go 语言构建系统,可以监控文件变化并重新加载。运行,构建,监控文件并支持自定义路径。
- Task star:3260 简单的“Go”的选择。
- mmake star:1559 现代 Make 工具
- taskctl star:92 并发任务跑。
- 1build star:88 命令行工具,以无摩擦地管理项目特定的命令。
- taskflow star:57 在Go中创建构建管道。
- gaper star:46 当Go项目崩溃或一些人看到文件更改时,构建并重新启动该项目。
- gilbert 一个为 Go 项目而生的构建系统和任务运行器。
- anko star:12 适用于多种编程语言的简单应用程序监视程序。
命令行
标准CLI
用于构建标准或基本命令行应用程序的库。 (翻译出错了? 试试 英文版 吧~)
- cobra star:21119 现代Go CLI命令行交互工具。
- urfave/cli star:15603 可让你简单、快速和愉快的构建命令行应用(之前是codegangsta/cli)。
- kingpin star:3034 支持子命令的命令行和标志解析器。
- Dnote star:2048 一个简单的命令行笔记本与多设备同步。
- go-flags star:1898 Go 命令行选项解析器。
- pflag star:1398 基于POSIX/GNU-style --flags实现的包,主要用于替换Go的falg包。
- mitchellh/cli star:1308 用于实现命令行接口的Go库。
- go-arg star:1088 基于结构的参数解析。
- liner star:772 类似readline-like的命令行接口库。
- complete star:769 使用 Go 语言编写的 bash 命令补全工具以及 Go 命令补全工具.
- mow.cli star:728 用于构建具有复杂标志和参数解析和验证的CLI应用程序。
- flaggy star:711 一个健壮的、易用的标志包,具有出色的子命令支持。
- cli star:573 基于golang结构标签,功能丰富易于使用的命令行包。
- ops star:557 Unikernel 构建器/协调器。
- argparse star:299 命令行参数分析器,灵感来自Python的argparse模块。
- commandeer star:143 开发友好的CLI应用程序。
- wmenu star:133 为cli程序提供了简单上手的菜单,可提示用户作出选择。
- sflags star:127 基于结构的flag生成器,用于flag、urfave/cli、pflag、cobra、kingpin和其他库。
- flag star:114 简单但功能强大的命令行选项解析库,用于支持Go子命令。
- ukautz/clif star:106 简小的命令行接口框架。
- job star:98 工作,把你的短期指令当作长期任务。
- cli star:79 为 Go 构建命令接口提供简单而完整的API。
- climax Alternative CLI with "human face", in spirit of Go command.
- env star:75 基于标记的结构化的环境配置。
- cmdr star:66 一个POSIX/GNU风格的、类似getopt的命令行UI Go库。
- clîr star:62 一个简单而清晰的CLI库。依赖免费的。
- gocmd star:49 用于构建命令行应用程序。
- hiboot cli 具有自动配置和依赖注入的cli应用程序框架。
- wlog star:49 支持跨平台和并发的简单日志记录接口。
- strumt star:43 用于创建提示链。
- flagvar star:36 符合 Go 标准的“flag”标志参数类型包。
- cmd star:32 扩展标准的' flag '包,以支持子命令和更多的idomatic方式。
- argv star:30 基于Base 语法,用于分隔命令行字符串并将其作为参数的 Go 语言库,
- go-getoptions star:30 Go 选择解析器,借鉴于Perl灵活性的GetOpt::Long。
- go-commander star:21 用于简化CLI工作流的 Go 库。
- sand star:13 用于创建解释器等的简单API。
- ts star:13 时间戳转换和比较工具。
高级控制台用户界面
用于构建控制台应用程序和控制台用户界面的库。 (翻译出错了? 试试 英文版 吧~)
- termui star:10801 此库是基于termbox-go实现的,借鉴于blessed-contrib。
- gocui star:7074 旨在创建控制台用户界面的极简Go库。
- gommon/color 更换终端文本样式。
- termbox-go star:4019 基于文本的跨平台接口库。
- go-prompt star:3855 构建一个强大的交互式提示,借鉴于python-prompt-toolkit
- uiprogress star:1780 在终端呈现进度条,可灵活配置的。
- progressbar star:1652 基本线程安全的进度条,在每个操作系统工作。
- termdash star:1645 此库是基于termbox-go实现的,借鉴于termui。
- asciigraph star:1625 在命令行中构建轻量级ASCII线图╭┈╯,应用程序中没有其他依赖项。
- uilive star:1284 用于实时更新终端输出的库。
- mpb star:1243 可在终端显示多进度条。
- aurora star:1073 支持fmt.Printf/Sprintf的ANSI终端颜色。
- pterm star:1051 一个在每个平台上使用许多可组合组件美化控制台输出的库。
- gookit/color star:810 终端显色工具库,支持16种颜色,256种颜色,RGB显色输出,兼容Windows。
- uitable star:610 改善终端应用程序中表格数据的可读性。
- go-colorable star:519 适用于windows的颜色编写器。
- go-isatty star:503 Go 实现的 isatty。
- chalk star:366 美化终端/控制台输出。
- simpletable star:295 可在终端显示简易表格。
- tabby star:285 一个可在终端生成一个极简Golang表格轻量级库
- go-colortext star:206 在终端中使用彩色文字。
- yacspin star:149 用于与终端旋转器一起工作。
- box-cli-maker star:119 为你的CLI制作高度定制的盒子。
- cfmt star:78 提供上下文的fmt,灵感来自于bootstrap color classes。
- tabular star:54 不需要向API传递大量参数就可从命令行实用程序中打印ASCII表。
- ctc star:31 不需要Print方法的非侵入性跨平台终端颜色库。
- colourize star:24 在终端提供ANSI彩色文本。
- cfmt star:22 简单和方便格式化格式化输出完全兼容fmt库。
- go-ataman star:9 在终端提供ANSI彩色文本模板。
- table star:6 为基于终端颜色的表的小库。
配置
配置解析的库。 (翻译出错了? 试试 英文版 吧~)
- viper star:15325 配置管理。
- godotenv star:3728 Ruby 的 dotenv 库的 Go移植版(从.env文件加载环境变量)。
- kelseyhightower/envconfig star:3544 管理来自环境变量的配置数据。
- ini star:2443 读和写INI文件。
- env star:1838 解析环境变量并赋值到struct中(默认值)。
- konfig star:596 可组合、可观察和高性能的分布式配置管理。
- koanf star:463 轻量级可扩展库,用于读取Go应用程序中的配置。内置支持JSON, TOML, YAML, env,命令行。
- confita star:364 从多个后端级联加载配置到struct中。
- cleanenv star:262 简约的配置阅读器(来自文件、环境,以及你想要的任何地方)。
- store star:253 轻量级配置管理器。
- config star:252 云本地应用程序配置。将ENV绑定到结构体仅需两行代码。
- config star:237 带有环境变量和标记解析的JSON或YAML配置包装器。
- gookit/config star:233 程序配置管理(load,get,set)。支持JSON, YAML, TOML, INI, HCL。支持多文件加载,数据覆盖合并。
- hjson star:233 更加人性化的JSON配置。轻松的语法,更少的错误,更多的注释。
- joshbetz/config star:204 一个可解析环境变量、JSON文件小巧的配置库,在SIGHUP时会自动重新加载。
- envconfig star:195 从环境变量中读取配置。
- aconfig star:193 简单,有用和固执的配置加载程序。
- gcfg star:147 将ini的配置文件读入 Go structs中;支持用户定义的类型和子选项。
- goConfig star:146 将结构体解析为输入,并用来自命令行、环境变量和配置文件的参数填充该结构体的字段。
- fig star:141 用于从文件和环境变量(带有验证和默认值)中读取配置的微型库。
- config star:135 一个轻量级但功能强大的配置包,用于Go项目。
- envh star:95 协助管理环境变量的Helpers。
- envcfg star:93 对环境变量进行解析,并赋值到struct。
- xdg star:92 Go实现XDG基本目录规范和XDG用户目录。
- harvester star:79 一个易于使用的静态和动态配置包
- configuro star:72 固执己见的配置加载和验证框架从环境和文件集中到12因素兼容的应用程序。
- xdg star:62 遵循XDG标准的跨平台包。
- gofigure star:59 让程序配置变得简单。
- gone/jconf 模块化的JSON配置。保持配置结构及其配置的代码,并将解析委托给子模块,而不牺牲配置的完整序列化。
- configure star:55 通过多个源提供配置,包括JSON、flags和环境变量。
- go-aws-ssm star:38 从AWS系统管理器-参数存储中获取参数的Go包。
- configuration star:37 库,用于从环境变量、文件、标记和“默认”标记初始化配置结构。
- ingo star:34 flag保存在类ini的配置文件中。
- go-up star:29 一个简单的配置库,具有递归占位符解析功能。
- mini star:28 用于解析ini类型的配置文件。
- hocon star:23 使用HOCON(一种人类友好的JSON超集)格式的配置库,支持环境变量、引用其他值、注释和多个文件等特性。
- genv star:21 使用dotenv支持轻松读取环境变量。
- conflate star:19 合并来自任意url的多个JSON/YAML/TOML文件、针对JSON模式的验证以及模式中定义的默认值的应用程序。
- envconf star:10 从环境配置中读取配置。
- go-ssm-config star:9 从AWS SSM(参数存储)加载配置参数的Go实用程序。
- go-ini star:4 一个对ini文件进行封送和解送的Go包。
- swap star:4 根据构建环境递归实例化/配置结构。(YAML, TOML, JSON和env)。
- typenv star:4 简约,零依赖,类型化环境变量库。
- nasermirzaei89/env star:3 读取环境变量的简单有用的包。
- onion 基于层配置的Go,支持JSON, TOML, YAML,属性,etcd, env,和加密使用PGP。
- gonfig star:2 基于标记的配置解析器,它将来自不同提供程序的值加载到类型安全结构中。
持续集成
用于帮助进行持续集成的工具。 (翻译出错了? 试试 英文版 吧~)
- drone star:22790 Drone 是一个基于 Docker 的持续集成平台,用 Go 编写。
- CDS star:3344 企业级CI/CD和DevOps自动化开源平台。
- goveralls star:681 Coveralls.io 是一个用 Go 编写,可持续对代码覆盖率进行检测的系统。
- overalls star:106 针对多package 的 Go 语言项目,可为类似 goveralls 这样的工具生成覆盖率报告。
- duci star:64 一个简单的 ci 服务。
- gomason star:50 在一个干净的工作区中对你的 Go 二进制文件进行测试、构建、签名和发布。
- roveralls star:14 递归覆盖测试工具。
CSS预处理器
用于预处理CSS文件的库。 (翻译出错了? 试试 英文版 吧~)
- gcss star:440 纯Go编写的 CSS 预处理器。
- go-libsass star:169 采用 Go封装,100% 与 Sass 兼容的 libsass 项目。
数据结构
用 Go 实现的通用的数据结构和算法。 (翻译出错了? 试试 英文版 吧~)
- gods star:9828 数据结构。容器、集合、列表、堆栈、地图、BidiMaps、树、HashSet等。
- go-datastructures star:5984 可靠的、高性能的和线程安全的数据结构的集合。
- golang-set star:1890 线程安全和非线程安全的高性能集。
- gota star:1567 实现了数据帧,序列以及数据噪音。
- boomfilters star:1345 用于处理连续的概率数据结构。
- roaring star:1138 实现了压缩 bitsets 的Go包。
- willf/bloom star:984 实现Bloom过滤器。
- gocache star:799 一个完整的Go缓存库,具有多个存储(内存,memcache, redis,…),可链,可加载,指标缓存和更多。
- cuckoofilter star:773 布谷鸟过滤器:一个用Go实现,可替代计数 bloom 过滤器。
- hyperloglog star:742 HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
- bitset star:656 实现了 bitsets 的 Go 包。
- trie star:527 在Go中实现Trie。
- algorithms star:495 算法和数据结构。来源于CLRS。
- go-geoindex star:328 基于内存的地理索引。
- gostl star:267 用于go的数据结构和算法库,旨在提供类似c++ STL的函数。
- go-edlib star:258 Go字符串比较和编辑距离算法库(Levenshtein, LCS, Hamming, Damerau Levenshtein, Jaro-Winkler等)兼容Unicode。
- merkletree star:238 实现了merkle树,提供了对数据结构内容的有效和安全的验证。
- hilbert star:227 用于映射空间填充曲线(例如 Hilbert 曲线和 Peano 曲线)和数值。
- goskiplist star:224 基于 Go 的跳表实现。
- ttlcache star:219 内存中的string-interface{}缓存各种基于时间的过期选项和回调。
- deque star:207 快速环缓冲区deque(双端队列)。
- go-adaptive-radix-tree star:175 自适应基数树。
- binpacker star:162 帮助用户构建自定义二进制流的二进制封装器和解包器
- skiplist star:143 高性能的 Go 跳表实现。
- bloom star:139 在Go中实现了Bloom过滤器。
- cuckoo-filter star:137 布谷鸟滤波器:一种综合布谷鸟滤波器,与其他实现相比,具有可配置性和空间优化性,原论文中提到的所有特性均可获得。
- iter star:133 Go实现的c++ STL迭代器和算法。
- goconcurrentqueue star:131 并行FIFO队列。
- levenshtein star:131 实现在Go中计算levenshtein距离。
- ring star:117 高性能、线程安全的bloom过滤器。
- go-rquad star:113 区域四叉树具有高效的点定位和邻域查找功能。
- encoding star:105 整形压缩库。
- bit star:103 Go 语言集合数据结构。提供了额外的位操作功能。
- conjungo star:92 一个小型、强大和灵活的合并库。
- remember-go star:91 用于缓存慢速数据库查询的通用接口(支持redis、memcached、ristretto或in-memory)。
- skiplist star:72 在Go中实现了跳表。
- go-mcache star:63 基于内存的实现了高性能的key:value存储库。指针缓存。
- bloom star:60 Golang Bloom过滤器的实现。
- levenshtein star:57 Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
- count-min-log star:53 Go实现Count-Min-log sketch的功能 : 使用近似计数器进行近似计数(类似Count-Min sketch,但使用更少内存)。
- crunch star:42 打包实现缓冲区,以便轻松处理各种数据类型。
- nan star:36 一个库中的可零分配空结构,具有方便的转换函数、编组器和解组器。
- concurrent-writer star:32 具备高并发能力,可替换 bufio.Writer。
- hide star:31 ID type with marshalling to/from hash to prevent sending IDs to clients.
- goset star:30 一个有用的Go集合实现。
- pipeline star:29 实现了 fan-in 和 fan-out 的管道功能。
- deque star:24 高度优化的双端队列。
- typ star:24 从复杂结构中获取值,支持空类型、安全的类型转换。
- timedmap star:23 实现了有生命周期的键值对Map。
- dict star:18 实现类似 python dict的功能(dict)。
- null star:17 对空的 Go 数据类型也可以进行JSON进行解析/反解析。
- go-ef star:16 实现了 Elias-Fano 编码。
- mspm star:15 用于信息检索的多字符串模式匹配算法。
- cmap star:13 一个线程安全的go map
- set star:13 使用LinkedHashMap在Go中实现简单的set数据结构。
- ptrie star:12 前缀树的一种实现。
- treap star:10 使用树堆进行持久、快速有序的映射。
- gofal star:9 基于 Go 实现的分数计算。包含分子、分母运算
- parsefields star:5 用于解析类似json的日志的工具,用于收集惟一的字段和事件。
- goterator star:3 迭代器实现,提供映射和减少功能。
- bloomfilter star:2 另一个在Go中的Bloomfilter实现,与Java的番石榴库兼容。
- ordered-concurrently star:2 Go模块,处理并发工作,并在通道中返回输入顺序的输出。
- slices star:2 对片进行操作的函数;类似于“包字符串”,但适用于使用片。
数据库
数据库。 (翻译出错了? 试试 英文版 吧~)
- prometheus star:36185 用于监控系统和时序的数据库。
- tidb star:27388 TiDB是一个分布式SQL数据库。灵感来自谷歌F1的设计。
- influxdb star:21253 可伸缩的数据存储,用于指标衡量、事件和实时分析。
- cockroach star:20310 可伸缩、区域备份、事务性数据存储。
- dgraph star:15800 可伸缩、分布式、低延迟、高吞吐量的图形数据库。
- groupcache star:10077 Groupcache是一个缓存和缓存填充库,在许多情况下,它是memcached的替代品。
- badger star:9079 快速 K/V 存储。
- rqlite star:8006 基于SQLite的轻量级分布式关系数据库。
- go-cache star:4870 基于内存的 K/V 存储/缓存 : (类似于Memcached),适用于单机应用程序。
- BigCache star:4766 高效的键/值缓存为千兆字节的数据。
- bbolt star:4317 一个用于Go的嵌入式键/值数据库。
- goleveldb star:4242 在Go中实现LevelDB key/value数据库。
- VictoriaMetrics star:4050 开源,快速,可伸缩的时间序列数据库。支持PromQL。
- ledisdb star:3572 Ledisdb是一种高性能的NoSQL,类似于基于LevelDB的Redis。
- buntdb star:3199 基于内存的K/V,快速,可嵌入的数据库,可自定义索引和空间支持。
- tiedot star:2582 属于你的NoSQL数据库。
- immudb star:1858 immudb是一个轻量级、高速、不可变的数据库,用于用Go编写的系统和应用程序。
- nutsdb star:1607 Nutsdb是一个用纯Go编写的简单、快速、可嵌入、持久的键/值存储。它支持完全序列化的事务和许多数据结构,如列表、集合、排序集。
- cache2go star:1502 基于内存的 K/V 缓存,支持超时的自动失效。
- GCache star:1466 支持过期缓存、LFU、LRU和ARC的缓存库。
- CovenantSQL star:1161 区块链领域的一个SQL数据库。
- fastcache star:1068 基于内存的快速线程安全的缓存,可缓存大量的条目。最大限度地减少GC开销。
- diskv star:1029 支持磁盘备份的可持久化 K/V 存储。
- moss star:804 Moss是一个用100% Go编写的简单LSM键值存储引擎。
- pogreb star:715 针对大量读取工作负载的嵌入式键值存储。
- Databunker star:699 个人身份信息(PII)存储服务符合GDPR和CCPA。
- Bitcask star:686 Bitcask是一个可嵌入的、持久的、快速的键值(KV)数据库,使用纯Go编写,具有可预测的读写性能、低延迟和高吞吐量,这得益于Bitcask的磁盘布局(LSM+WAL)。
- eliasdb star:614 无其他依赖项,支持REST API,短语搜索和sql类似的查询语言的事务图数据库。
- levigo star:392 实现了对LevelDB封装。
- pudge star:286 使用Go的标准库编写的快速和简单的键/值存储。
- Vasto star:206 分布式高性能键值存储。可做磁盘备份。最终一致。高可用。能够在不中断服务的情况下增长或收缩。
- Kivik star:201 Kivik为CouchDB、PouchDB和类似的数据库提供了一个通用的Go和GopherJS客户端库。
- piladb star:185 基于堆栈数据结构的轻量级RESTful数据库引擎。
- Scribble star:121 小型平面文件JSON存储。
- slowpoke star:98 具有持久性的键值存储。
- cache star:83 基于内存的 K/V 存储:带生命周期的值存储,0个依赖项,<100 LoC, 100%覆盖率。
- bcache star:64 基于内存的最终一致的分布式缓存。
- unitdb star:61 快速timeseries数据库物联网,实时消息传递应用程序。使用pubsub通过tcp或websocket访问unitdb,使用github.com/unit-io/unitd应用程序。
- couchcache star:53 由 Couchbase服务 支持的RESTful缓存微服务。
- clusteredBigCache star:37 BigCache 支持集群和独立且生命周期存储项。
- hare star:36 一个简单的数据库管理系统,将每个表存储为一行分隔的JSON文本文件。
- Coffer star:24 支持事务的简单ACID键值数据库。
- tempdb star:14 用于临时数据存放的 K/V 存储。
- ttlcache star:3 内存键值存储与TTL为每个记录。
数据库迁移。 (翻译出错了? 试试 英文版 吧~)
- migrate star:6218 基于CLI的数据库迁移库。
- sql-migrate star:2098 数据库迁移工具。允许使用go-bindata将迁移嵌入到应用程序中。
- goose star:1640 数据库迁移工具。您可以通过创建增量SQL或Go脚本来管理数据库的升级。
- skeema star:870 用于MySQL的纯sql模式管理系统,支持分片和外部在线模式更改工具。
- soda 数据库迁移、创建、ORM等。用于MySQL、PostgreSQL和SQLite。
- gormigrate star:583 面向Gorm ORM的数据库 schema 迁移辅助程序。
- darwin star:114 用于数据库 schema 升级的库。
- migrator star:108 非常简单的 Go 数据库迁移库。
- go-pg-migrations star:75 用Go -pg/pg编写的迁移包。
- go-fixtures star:26 类似 Django fixture,用于 Go 建立内置数据库/sql库。
- pravasan star:24 简易的迁移工具-目前只支持MySQL,但计划很快支持Postgres, SQLite, MongoDB等。
- avro star:23 发现SQL schemas并将其转换为AVRO schemas。
- schema star:7 库,用于将数据库/sql兼容数据库的模式迁移嵌入到Go二进制文件中。
- go-pg-migrate star:4 用于go-pg迁移管理的cli友好包。
数据库工具。 (翻译出错了? 试试 英文版 吧~)
- vitess star:11664 vitess提供了可以为大规模web服务扩展MySQL数据库提供便利的服务和工具。
- pgweb star:6827 基于web的PostgreSQL数据库浏览器。
- kingshard star:5624 kingshard 是基于 Golang 的MySQL高性能代理。
- orchestrator star:4034 MySQL复制拓扑管理器和可视化工具。
- go-mysql-elasticsearch star:3424 自动将MySQL数据同步到Elasticsearch中。
- go-mysql star:2934 Go 工具集,用于处理MySQL协议和复制。
- pREST star:2637 简化和加速开发,⚡即时、实时、高性能在任何Postgres应用,现有的或新的。
- chproxy star:595 ClickHouse数据库的HTTP代理。
- pg_timetable star:398 高级调度为PostgreSQL。
- clickhouse-bulk star:273 收集小的 insterts 并向 ClickHouse 服务器发送大请求。
- myreplication star:172 MySql二进制日志复制监听器。支持基于语句和行的复制。
- octillery star:127 用于数据库分表(支持每个ORM或原生SQL)。
- dbbench star:54 数据库基准测试工具,支持多个数据库和脚本。
- datagen star:30 一个快速的数据生成器,支持多表感知和多行DML。
- prep star:27 在不更改代码的情况下使用准备好的SQL语句。
- rwdb star:11 rwdb为多个数据库服务器的设置提供读取副本功能。
SQL查询生成器,用于构建和使用SQL的库。 (翻译出错了? 试试 英文版 吧~)
- Squirrel star:3806 帮助您构建SQL查询的Go库。
- xo star:2727 基于现有的schema定义和自定义查询生成 Go 代码,基于支持PostgreSQL、MySQL、SQLite、Oracle和Microsoft SQL Server。
- gendry star:1189 非入侵的SQL构建器和强大的数据绑定器。
- goqu star:1010 常用的SQL生成器和查询库。
- Dotsql star:583 Go library帮助您将sql文件保存在一个地方,并轻松地使用它们。
- ozzo-dbx star:527 Powerful data retrieval methods as well as DB-agnostic query building capabilities.
- jet star:384 用于在Go中编写类型安全的SQL查询的框架,能够轻松地将数据库查询结果转换为所需的任意对象结构。
- dbq star:279 Zero boilerplate database operations for Go
- sqrl star:220 SQL查询生成器,从Squirrel fork而来,并再此基础上对性能做了优化。
- Squalus Go SQL中间层,能使得执行查询更加容易。
- sqlingo star:141 在Go中构建SQL的轻量级DSL。
- sq star:102 用于Go的类型安全的SQL生成器和结构映射器。
- igor star:83 PostgreSQL的抽象层,支持高级功能和类似gorm的语法。
- godbal star:51 数据库抽象层(dbal)。支持SQL builder,轻松获取结果。
- buildsqlx star:27 去数据库查询生成器库的PostgreSQL。
- qry star:20 该工具使用原始SQL查询从文件生成常量。
- sqlf star:17 快速SQL查询生成器。
- gosql star:15 支持更好的空值的SQL查询生成器。
- hasql 用于访问多主机SQL数据库安装的库。
- mpath star:7 MPTT(修改前序树遍历)包的SQL记录-物化路径实现。
- ormlite 包含一些类似orm的特性和sqlite数据库的辅助程序的轻量级包
数据库驱动程序
用于连接和操作数据库的库。 (翻译出错了? 试试 英文版 吧~)
-
Relational Databases
- go-sql-driver/mysql star:10717 MySQL驱动程序。
- pq star:6484 纯 Go 的Postgres驱动。
- go-sqlite3 star:4744 SQLite3驱动程序。
- pgx star:3947 PostgreSQL驱动,支持比现有database/sql更多的特性。
- go-mssqldb star:1377 微软MSSQL驱动程序。
- go-oci8 star:537 Oracle 驱动程序。
- godror star:241 基于 ODPI-C 的 Oracle 驱动程序
- firebirdsql star:141 Firebird RDBMS SQL驱动程序。
- go-adodb star:118 Microsoft ActiveX对象数据库驱动程序。
- gofreetds star:104 基于FreeTDS封装的微软MSSQL Go 驱动。
- avatica star:70 Apache Avatica/Phoenix SQL驱动程序。
- Sqinn-Go star:50 SQLite with pure Go.
- bgc star:15 BigQuery 的数据存储连接。
-
NoSQL Databases
- redis star:11216 基于 Go 的 Redis 客户端。
- redigo star:8322 Redigo 是基于 Go 的Redis 客户端。
- mongo-go-driver star:5600 官方的 MongoDB 驱动。
- mgo star:1883 (已停止维护) MongoDB驱动。
- gorethink star:1555 RethinkDB 驱动。
- qmgo star:464 MongoDB司机走了。它是基于官方MongoDB司机但更容易使用像分别。
- redeo star:392 与 redis 协议兼容的 TCP 服务器/服务。
- neoism star:375 Golang 的 Neo4j 客户端。
- aerospike-client-go star:359 Aerospike 客户端。
- gocb star:322 官方Couchbase Go SDK。
- go-couchbase star:310 Couchbase客户端。
- mgm star:274 基于MongoDB模型的ODM for Go(基于官方MongoDB驱动)。
- go-rejson star:165 实现了基于 Redigo 客户端的redislabs' ReJSON 模块。可简单地将结构体存储为JSON对象并对其进行操作。
- godis star:89 由GoLang实现的redis客户端,灵感来自jedis。
- Neo4j-GO star:76 Neo4j REST 客户端。
- arangolite star:69 轻量级的 ArangoDB 驱动。
- go-pilosa star:44 Pilosa客户端。
- forestdb star:30 基于 Go 的 ForestDB 接口实现。
- goriak star:26 Riak KV 驱动。
- neo4j star:26 Neo4j Rest API实现。
- xredis star:14 类型安全,可定制,清晰和易用的Redis客户端。
- godscache star:8 谷歌云平台Go Datastore包的封装,它采用了memcached添加缓存。
- gomemcache memcache客户端库。
- asc star:6 Aerospike 的数据存储连接器。
- gocosmos star:2 Azure Cosmos DB的REST客户端和标准的“数据库/sql”驱动程序。
- gocql Apache Cassandra 的 Go 驱动。
-
Search and Analytic Databases.
- bleve star:7498 基于 Go 的现代文本索引库。
- elastic star:5799 Elasticsearch 客户端。
- riot star:5714 基于 Go 的 开源、分布式、简单高效的搜索引擎。
- go-elasticsearch star:3275 官方 Elasticsearch 客户端。
- elastigo star:945 Elasticsearch 客户端。
- elasticsql star:701 将 SQL 转换为 elasticsearch dsl。
- skizze star:76 面向概率数据结构的服务和存储。
- goes star:24 实现了与 Elasticsearch 交互的库。
-
Multiple Backends.
日期和时间
用于处理日期和时间的库。 (翻译出错了? 试试 英文版 吧~)
- now star:3018 now 是时间有关的工具类。
- dateparse star:1377 可以解析很多格式不固定的日期字符串。
- carbon star:572 简单的时间扩展,包含了许多使用方法,从 PHP Carbon 库移植的。
- durafmt star:370 轻量级、可让time.Duration更加易读的库。
- timeutil star:185 面向 Golang 的时间库,集成了很多有用的扩展(Timedelta, Strftime, ...)。
- gostradamus star:150 和约会对象一起工作的软件包。
- go-persian-calendar star:95 太阳历实现。
- iso8601 star:84 不用正则表达式有效解析 ISO8601 日期时间。
- timespan star:74 用于处理时间间隔相关的库,可定义开始时间和持续时间。
- date star:65 增加处理日期、日期范围、时间跨度、时间段和time-of-day。
- feiertage star:37 用于计算德国公共假期的函数,比如复活节、感恩节等
- go-sunrise star:32 计算指定位置的日出和日落时间。
- go-str2duration star:19 将字符串转换为持续时间。支持的时间。持续时间返回字符串等。
- kair star:18 用于处理日期和时间的 golang 库。
- NullTime star:11 可以允许 time.Time 为null。
- cronrange star:9 解析cron风格的时间范围表达式,检查给定的时间是否在任何范围内。
- tuesday star:9 Ruby-compatible Strftime function。
- strftime star:7 C99-compatible strftime formatter。
- go-week star:4 一个有效的软件包,以配合ISO8601周日期。
分布式系统
协助构建分布式系统的包。 (翻译出错了? 试试 英文版 吧~)
- go-kit star:19893 支持服务发现、负载平衡、插件式传输、请求跟踪等功能的Microservice toolkit。
- go-micro star:15725 分布式系统开发框架。
- grpc-go star:13464 gRPC的Go语言实现。
- micro star:9934 一个分布式系统运行时,用于云及其他。
- NATS star:9121 轻量级、高性能消息传递系统,可用于微服务、物联网(IoT)和云。
- go-zero star:7347 一个web和rpc框架。它的诞生是为了确保繁忙场地的稳定性,弹性设计。内置的goctl大大提高了开发效率。
- rpcx star:5564 分布式可插拔的RPC服务框架,如阿里巴巴Dubbo。
- raft star:4459 Raft consensus协议的实现。 by HashiCorp。
- raft Raft consensus协议的实现。 by CoreOS。
- tendermint star:4027 一个高性能中间件,可将任何语言的状态机转换为 Byzantine Fault 状态机。使用 Tendermint 一致性及区块链协议。
- torrent star:3847 BitTorrent 客户端。
- KrakenD star:3760 具有中间件的高性能API网关框架。
- dragonboat star:3569 一个功能齐全,高性能的库集。
- glow star:2934 全部用 Go 实现,易用、可伸缩,可用于分布式大数据处理,Map-Reduce, DAG执行。
- emitter-io star:2802 高性能、分布式、安全和低延迟的发布-订阅平台,使用MQTT、Websockets和love构建。
- gleam star:2788 使用纯Go和Luajit编写的快速、可伸缩的分布式map/reduce系统,结合了Go的高并发性和Luajit的高性能,可以独立运行或分布式运行。
- liftbridge star:2037 用于nat的轻量级、容错的消息流。
- hprose star:1149 支持25+种语言RPC库。
- ringpop-go star:674 可伸缩的,容错、应用分层的的Go应用程序。
- gorpc star:630 简单、快速和可伸缩的RPC库。
- go-health star:590 用于在服务中启用异步依赖项健康检查的库。
- rain star:589 BitTorrent客户端和库。
- digota star:382 基于 grpc 的电子商务微服务。
- dot 基于 transformation/OT 的分布式同步。
- redis-lock star:380 基于redis的分布式锁简易实现。
- resgate 用于构建REST、实时和RPC API的实时API网关,其中所有客户端都是无缝同步的。
- go-sundheit star:374 为支持为golang服务定义异步服务健康检查而构建的库。
- consistent star:368 Consistent hashing with bounded loads。
- sleuth star:332 用于HTTP服务之间进行无中心p2p自动发现和RPC通信的库(使用ZeroMQ)。
- go-jump star:315 提供了谷歌的 “Jump” 一致哈希函数接口。
- dht star:184 BitTorrent Kademlia DHT的实现。
- jsonrpc star:175 JSON-RPC 2.0 HTTP客户端。
- arpc star:170 更有效的网络通信,支持双向呼叫、通知、广播。
- jsonrpc star:144 jsonrpc 包,实现了 JSON-RPC 2.0。
- celeriac star:63 用于对 Celery worker、任务、事件进行交互和监控的库。
- doublejump star:59 实现了谷歌的jump consistent hash。
- Semaphore star:52 简单的(微)服务协调器。
- outboxer star:51 实现了 outbox pattern Go 库。
- pglock postgresql 的分布式锁定实现。
- pjrpc Golang JSON-RPC服务器-客户端与原生buf规范。
- flowgraph star:38 flow-based programming package。
- drmaa star:31 符合 DRMAA 标准的集群调度程序作业提交库。
- dynamolock DynamoDB-backed 分布式锁定实现。
- go-pdu star:24 一个去中心化的基于身份的社交网络。
- go-mysql-lock star:21 基于MySQL分布式锁。
- dynatomic star:14 基于 DynamoDB 的 原子计数器的库。
- gmsec star:11 一个Go分布式系统开发框架。
- consistenthash star:9 使用可配置副本的一致哈希。
动态域名
更新动态DNS记录的工具。 (翻译出错了? 试试 英文版 吧~)
- GoDNS star:796 一个动态DNS客户端工具,支持DNSPod & HE.net。
- DDNS star:180 个人 DDNS 客户端。
- dyndns 后台去处理定期和自动检查您的IP地址,并作出更新(一个或多个)动态DNS记录,为谷歌域,每当您的地址变化。
电子邮件
实现了电子邮件创建和发送。 (翻译出错了? 试试 英文版 吧~)
- MailHog star:8295 电子邮件和SMTP测试工具,对外提供了 web 和 API 接口。
- hermes star:2238 可生成干净的、响应式的HTML电子邮件。
- email star:1701 一个强大和灵活的电子邮件库。
- go-imap star:1233 用于客户端和服务器的IMAP库。
- chasquid 用Go编写的SMTP服务器。
- SendGrid star:720 SendGrid 的 Go语言库,用于发送电子邮件。
- mailgun-go star:515 使用Mailgun API去库发送邮件。
- Hectane star:203 轻量级的SMTP客户机,提供了HTTP API。
- email-verifier star:196 一个Go库的电子邮件验证而不发送任何电子邮件。
- go-message star:194 用于Internet消息格式化和邮件消息的流媒体库。
- douceur star:191 在HTML邮件中支持CSS内联。
- go-simple-mail star:126 非常简单的包发送电子邮件与SMTP保持活动和两个超时:连接和发送。
- mailchain star:76 发送加密的电子邮件到区块链地址写在Go。
- go-premailer star:71 在HTML邮件中支持CSS内联。
- go-dkim star:67 DKIM库,用于签署 & 验证电子邮件。
- smtp star:63 SMTP服务器协议状态机。
- go-email-validator star:8 模块化电子邮件验证器的语法,一次性,smtp等…检查。
可嵌入的脚本语言
在go代码中嵌入其他语言。 (翻译出错了? 试试 英文版 吧~)
- gopher-lua star:4025 用 Go 实现的 Lua 5.1 虚拟机和编译器。
- tengo star:2237 字节码编译的脚本语言。
- goja star:2092 ECMAScript 5.1(+)实现在Go。
- go-lua star:2060 用 Go 实现的 Lua 5.2 VM接口。
- expr star:1692 Go的表达式计算引擎:快速,非图灵完备,动态类型,静态类型。
- go-python star:1248 CPython C-API 的 Go 接口。
- anko star:1121 用Go编写的解释器。
- go-php star:788 PHP 的 Go 接口。
- go-duktape star:753 支持 Duktape JavaScript 引擎。
- cel-go star:732 快速,可移植,非图灵完整的表达评估与渐进分型。
- golua star:527 Lua C 的 Go 接口。
- gisp star:448 LISP 的 Go 接口。
- gval star:308 一种用Go编写的高度可定制的表达式语言。
- gentee star:72 嵌入式脚本编程语言。
- binder star:48 Lua接口,基于gopher-lua。
- purl star:30 嵌入 Go 的 Perl 5.18.2。
- ngaro star:20 嵌入式 Ngaro VM实现,支持在 Retro 中运行脚本。
- ecal star:6 一种简单的支持并发事件处理的可嵌入脚本语言。
错误处理
处理错误的库。 (翻译出错了? 试试 英文版 吧~)
- errors star:6709 可让你很简单的进行错误处理。
- go-multierror star:1228 可将一系列的错误作为一个整体来显示。
- eris star:777 在Go中处理、跟踪和记录错误的更好方法。兼容标准错误库和github.com/pkg/errors。
- errorx star:723 一个功能丰富的错误包,可进行堆栈跟踪、组装异常信息以及其他。
- tracerr star:651 可展示错误的堆栈跟踪信息和源码片段。
- errlog star:393 用于定位抛出错误的源代码(以及一些其他快速调试特性)。可插入到任何 logger 的位置。
- emperror star:205 用于Go库和应用程序的错误处理工具和最佳实践。
- errors star:91 替换标准库错误包和github.com/pkg/errors。提供各种错误处理原语。
- errors star:22 这是一个最小的错误处理包,自定义错误类型,用户友好的消息,Unwrap & is。与非常容易使用和直接的帮助函数。
- Falcon star:6 一个简单但功能强大的错误处理包。
- errors star:3 使用分类原语进行简单的golang错误处理。
- errors star:2 最简单的错误包装器,具有出色的性能和最小的内存开销。
文件处理
处理文件和文件系统的库。 (翻译出错了? 试试 英文版 吧~)
- afero star:3712 文件系统的抽象系统。
- pdfcpu star:2301 PDF处理器。
- notify star:626 文件系统事件通知库,具有类似于os/signal的简单API,。
- copy star:278 递归地复制目录。
- bigfile star:186 一个文件传输系统,支持管理文件与http api, rpc调用和ftp客户端。
- afs star:131 用于Go的抽象文件存储(mem、scp、zip、tar、cloud: s3、gs)。
- vfs star:99 一组可插拔的、可扩展的和自定义的文件系统功能,用于跨越许多文件系统类型,如os、S3和GCS。
- go-csv-tag star:81 使用 tag 加载 csv 文件。
- opc star:66 加载Open Packaging Conventions (OPC)文件。
- skywalker star:63 可以轻松地并发地遍历文件系统。
- stl 采用并行读取算法的进行读取和写入STL(立体光刻)文件的模块。
- go-exiftool star:54 ExifTool 的 Go 实现,这个著名的库用于从文件(图片、PDF、office,…)中提取尽可能多的元数据(EXIF、IPTC,…)。
- tarfs star:45 tar文件的实现 FileSystem 接口。
- checksum star:32 生成大型文件的消息摘要(如 MD5 和 SHA256)。
- go-gtfs star:26 加载gtfs文件。
- baraka star:25 一个轻松处理http文件上传的库。
- flop star:24 文件操作库,是GNU cp的镜像。
- gut/yos star:16 简单和可靠的包文件操作,如复制/移动/diff/列表的文件,目录和符号链接。
- parquet star:15 读写parquet文件。
- go-decent-copy star:14 拷贝文件。
- todotxt star:7 去吉娜·特拉帕尼的todo.txt文件库,支持解析和操作任务列表中的[*todo。txt格式)(https://github.com/todotxt/todo.txt)。
金融
会计和财务软件包。 (翻译出错了? 试试 英文版 吧~)
- decimal star:2920 任意精度定点的十进制数。
- go-money star:901 Fowler 货币模式的实现。
- accounting star:639 货币和货币格式。
- go-finance star:535 综合金融市场数据。
- techan star:428 拥有先进的市场分析和交易策略的技术分析库。
- currency star:233 处理货币金额,提供货币信息和格式。
- orderbook star:189 限购单匹配引擎。
- go-finance star:93 用于货币时间价值(年金)、现金流、利率转换、债券和折旧计算的金融函数库。
- transaction star:85 嵌入式事务数据库,可多线程模式运行。
- ofxgo star:84 查询 OFX 服务器和/或解析响应。
- vat star:82 增值税编号验证 & 欧盟增值税税率。
- go-finnhub star:55 来自finnhu .io的股票市场、外汇和密码数据客户。从60多个证券交易所、10个外汇经纪人和15多个密码交易所获取实时金融市场数据。
- sleet star:48 多个付款服务供应商使用统一界面处理网上付款。
- currency star:39 高性能、准确的货币计算软件包。
- fastme star:23 快速可扩展匹配引擎Go实现。
- go-finance star:5 模块获取汇率,通过VIES检查增值税号码,检查IBAN银行账号。
表单
用于处理表单的库。 (翻译出错了? 试试 英文版 吧~)
- nosurf star:1143 CSRF保护中间件。
- binding star:783 将来自 net/HTTP 请求的表单、JSON 数据绑定到结构体。
- gorilla/csrf star:639 用于Go web应用程序和服务的CSRF保护。
- form star:459 将 url 中的数据解析到 Go 变量中,以及将 Go 语言变量编码进 url。支持 Dual Array 及 Full map。
- conform star:216 控制用户输入。基于struct tags可对数据进行修剪、清理和擦除。
- formam star:160 将表单的值解码为 struct。
- forms star:119 与框架无关的库,用于解析和验证支持多部分表单和文件的表单/JSON数据。
- qs star:56 去模块编码结构到URL查询参数。
- bind star:25 将表单数据与任意 Go 变量进行绑定。
- queryparam star:9 解码的url。值转换为标准或自定义类型的可用结构值。
方法
在Go中支持函数式编程的包。 (翻译出错了? 试试 英文版 吧~)
- go-underscore star:1190 常用辅助方法集合。
- fpGo star:166 提供函数式编程功能。
- fuego star:87 Functional Experiment in Go。
- gofp star:62 一个类似lodash的强大的Golang实用程序库。
游戏开发
很棒的游戏开发库。 (翻译出错了? 试试 英文版 吧~)
- Ebiten star:4214 很简单的 2D 游戏库。
- Leaf star:3930 轻量级游戏服务器框架。
- Pixel star:3443 手工制作的 2D 游戏库。
- goworld star:1799 可伸缩的游戏服务器引擎,具有 space-entity 框架和 hot-swapping 功能。
- nano star:1632 轻量级、方便、高性能的基于golang的游戏服务器框架。
- go-sdl2 star:1518 实现了Simple DirectMedia Layer。
- g3n star:1387 3D游戏引擎。
- engo star:1359 开源 2D 游戏引擎。它遵循 Entity-Component-System 范式。
- termloop star:1200 基于终端的 Go 游戏引擎,建立在 Termbox 之上。
- gonet star:1130 实现了游戏服务器骨架。
- Pitaya star:944 可伸缩的游戏服务器框架,支持集群和客户端库的iOS, Android, Unity。
- Oak star:862 纯 Go 实现的游戏引擎。
- raylib-go star:585 实现了 raylib,一个简单易用的库,用于学习视频游戏编程。
- Azul3D star:479 用Go编写的 3D 游戏引擎。
- go-astar star:418 实现了A*路径查找算法。
- go3d star:195 以性能为主的2D/3D数学相关包。
- prototype star:52 跨平台(Windows/Linux/Mac)库,用于使用最少的API创建桌面游戏。
- tile star:18 面向数据和缓存友好的2D网格库(TileMap),包括寻路、观察者和导入/导出。
代码生成与泛型
增强语言的工具,例如通过代码生成支持泛型。 (翻译出错了? 试试 英文版 吧~)
- go-linq star:2466 提供类似 .NET LINQ 的查询方法。
- jennifer star:1968 不使用模板生成任意 Go 代码。
- gen star:1252 用于生成泛型等类似方法的功能代码生成工具。
- goderive star:855 从输入类型来派生函数。
- GoWrap star:477 使用简单模板为 Go 接口生成装饰器。
- interfaces star:280 用于生成接口定义的命令行工具。
- go-enum star:177 从代码注释中生成枚举。
- pkgreflect star:97 用于包作用域反射的 Go 预处理器。
- efaceconv star:47 代码生成工具,可以不通过内存分配就可以高效的将interface{}转换为不可变类型,。
- gotype star:34 Golang 源码解析,用法类似reflect(反射)。
- generis star:24 提供泛型、free-form 宏、条件编译和HTML模板的代码生成工具。
- go-xray star:17 帮助更容易地使用反射。
- typeregistry star:9 动态创建类型的库。
地理
地理工具和服务器 (翻译出错了? 试试 英文版 吧~)
- Tile38 star:7354 具有空间索引和实时地理定位功能的地理定位数据库。
- S2 geometry star:1197 S2 geometry 库。
- mbtileserver star:219 一个简单的基于go的服务器,用于存储mbtiles格式的地图块。
- osm star:155 用于读取、写入和处理 OpenStreetMap 数据和 APIs。
- geocache star:130 基于内存缓存的的地理位置的应用程序。
- WGS84 star:60 坐标转换和转换库(ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)。
- geoserver star:49 基于geoserver REST API的 geoserver 实例。
- gismanager star:38 将你的 GIS 数据(矢量数据)发布到 PostGIS 和 Geoserver。
- pbf star:24 基于Golang 的 OpenStreetMap PBF 编码器/解码器。
- S2 geojson star:11 将geojson转换为s2单元格&在map上演示一些s2的几何特性。
Go 编译器
可将 Go 转换为其他语言的编译工具。 (翻译出错了? 试试 英文版 吧~)
- gopherjs star:10069 将 Go 编译成 JavaScript。
- tardisgo star:407 Golang 转换为 Haxe,再转换为 CPP/CSharp/Java/JavaScript 的编译器.
- c4go star:255 将 C 代码转换为 Go 代码。
- f4go star:23 将 FORTRAN 77 转换为 Go代码。
Goroutines
管理和处理 Goroutines 的工具。 (翻译出错了? 试试 英文版 吧~)
- ants star:5297 一个高性能且低损耗的 goroutine 池。
- goworker star:2536 基于 go 的后台 worker。
- tunny star:1925 golang 的协程池。
- grpool star:619 轻量级协程池。
- pool star:600 有限消费者协程或无限协程池,可用于更加简单的处理和取消协程
- workerpool star:481 限制任务执行并发数,而不是队列中的任务数量的协程池,。
- gowp star:265 gowp是高并发性限制异步工作池。
- pond star:192 简约和高性能的goroutine工作池写在Go。
- go-floc star:184 轻松编排 goroutines。
- go-flow star:162 控制 goroutines 的执行顺序。
- semaphore star:109 基于 CAS 的可快速调整的信号量实现(比基于通道的信号量实现更快)。
- artifex star:98 简单的内存作业队列。
- breaker star:93 灵活的机制,可以使执行流可中断。
- go-workers star:91 为大型数据处理管道轻松安全地运行工人。
- semaphore star:84 信号量模式实现,可根据通道和上下文进行具备超时功能的锁定/解锁操作。
- gpool star:78 manages a resizeable pool of context-aware goroutines to bound concurrency
- async star:76 一种异步执行函数的安全方法,在出现 panic 时恢复它们。
- worker-pool star:73 一个简单的 Go 异步工作池。
- neilotoole/errgroup star:70 “sync/errgroup”的替代方案,仅限于N个worker goroutines池。
- cyclicbarrier star:61 基于 Go 的 CyclicBarrier 实现。
- threadpool star:58 Golang 的 threadpool 实现。
- gollback star:54 异步简单的函数实用程序,用于管理闭包和回调的执行。
- Hunch star:45 Hunch 提供了诸如 All、First、Retry、Waterfall 等功能,这使得异步流控制更加直观。
- routine star:40 go routine control with context, support: Main, Go, Pool and some useful Executors.
- kyoo star:32 提供无限的作业队列和并发工作池。
- nursery star:29 Go中的结构化并发。
- oversight 完整的实现了Erlang supervision trees。
- parallel-fn star:29 并行运行函数。
- async star:21 可选的Go同步库(Future, Promise, Locks)。
- goccm star:19 Go并发管理器包限制了允许并发运行的goroutines的数量。
- stl star:18 基于软件事务内存(STM)并发控制机制的软件事务锁。
- go-trylock star:15 支持 read-write 锁。
- go-waitgroup star:15 像“同步。有错误处理和并发控制。
- gohive star:13 一个高性能和易于使用的Goroutine池去。
- channelify star:9 将函数转换为返回通道,以便进行简单而强大的并行处理。
- conexec star:9 一个并发工具包,帮助以高效和安全的方式并发执行函数。它支持指定总体超时来避免阻塞,并使用goroutine池来提高效率。
- queue star:9 提供类似队列组可访问性 sync.WaitGroup 的功能。帮助你节流和限制协程、等待所有协程结束以及更多功能。
- hands star:6 进程控制器,用于控制多个goroutine的执行和返回策略。
- go-tools/multithreading star:5 轻量级的协程池库,可以通过简单的API来管理。
- concurrency-limiter star:4 支持超时、动态优先级和上下文取消的并发限制器。
GUI
用于构建GUI应用程序的库。 (翻译出错了? 试试 英文版 吧~)
工具包 (翻译出错了? 试试 英文版 吧~)
- fyne star:12808 基于材料设计的Go跨平台本机gui设计。支持:Linux, macOS, Windows, BSD, iOS和Android。
- qt star:8430 实现了 Qt 的 Go接口(支持Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)。
- webview star:8137 跨平台webview窗口,具有简单的双向JavaScript绑定(Windows / macOS / Linux)。
- ui star:7830 跨平台的 Platform-native GUI 库。
- Wails Mac, Windows, Linux桌面应用程序,主要基于含有内置的OS HTML渲染器的HTML UI。
- walk star:5345 Windows应用程序库。
- app star:4698 用于创建包含了 GO, HTML 和 CSS 的应用程序。支持 MacOS, Windows 正在开发中。
- go-astilectron star:3759 使用 GO 和 HTML/JS/CSS (电子驱动)进行构建跨平台 GUI 应用程序。
- go-gtk 实现了 GTK 的 Go接口。
- go-sciter star:2037 实现了 Sciter 的 Go 接口 : 用于现代桌面 UI 开发的可嵌入HTML/CSS/脚本引擎。可跨平台。
- gotk3 star:1446 实现了 GTK3 的 Go接口。
- gowd star:312 跨平台、快速、简单的桌面UI开发,采用了GO, HTML, CSS和NW.js实现。
交互 (翻译出错了? 试试 英文版 吧~)
- robotgo star:6568 实现跨平台的GUI系统自动化。包含了控制鼠标、键盘等功能。
- systray star:1753 跨平台 Go 库,可在通知区放置图标和菜单。
- gosx-notifier star:532 OSX 桌面通知库。
- trayhost star:204 跨平台 Go 库,可用于在主机操作系统的任务栏中放置图标。
- go-appindicator star:16 实现了 libappindicator3 C库 的 Go接口。
- mac-activity-tracker star:10 用于通知计算机上的任何(可插入的)活动的 OSX 库。
- mac-sleep-notifier star:8 OSX 睡眠/唤醒通知。
硬件
硬件交互相关的库、工具和教程。 (翻译出错了? 试试 英文版 吧~)
See go-hardware for a comprehensive list.
图片
图像处理相关的库。 (翻译出错了? 试试 英文版 吧~)
- gocv star:3939 使用OpenCV 3.3+实现的计算机视觉(ComputerVision)的Go语言包。
- imaging star:3599 简单的Go图像处理包。
- imaginary star:3575 用于图像大小调整的快速、简单的HTTP微服务。
- bild star:3140 纯Go语言实现的图像处理算法合集。
- ln star:2881 Go实现的3D线艺术(3D Line Art)渲染。
- gg star:2741 纯Go语言实现的2D渲染。
- resize star:2609 Go实现的使用常用的插值法(interpolation methods)调整图像大小的库。
- pt star:1940 Go实现的路径跟踪(path tracing)引擎。
- svgo star:1645 Go实现的SVG生成库。
- smartcrop star:1507 为任意图片寻找合适的位置进行图片裁剪。
- picfit star:1449 Go实现的图像调整服务器。
- gift star:1426 图像处理包。
- bimg star:1416 使用libvips实现的快速高效的图像处理包。
- imagick star:1282 ImageMagick下MagickWand的C API的Go binding。
- go-opencv star:1231 OpenCV库的Go bindings。
- geopattern star:1116 由字符串创建漂亮图案的图片生成器。
- stegify star:927 Go实现的LSB隐写(LSB steganography),能够隐藏任何文件到一个图像中。
- canvas star:650 矢量图形到PDF, SVG或光栅图像。
- image2ascii star:511 将图像转换为ASCII码。
- draft star:486 使用简单的YAML语法为GraphViz生成高级微服务架构图。
- govips star:453 闪电快速的图像处理和调整库的Go。
- mort star:426 Go语言实现的图像存储和处理服务器。
- govatar star:424 生成有趣头像的库和CMD工具。
- goimagehash star:399 图像哈希处理的Go语言包。
- go-nude star:324 Go语言实现的裸照检测工具。
- rez star:200 纯Go语言和SIMD实现的图像大小调整。
- darkroom star:161 An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
- img star:136 图像处理工具的集合。
- mergi star:130 用于图像处理(合并、裁剪、调整大小、水印、动画)的工具和Go库。
- go-cairo star:101 cairo图形库的Go binding。
- gltf star:96 一个高效、健壮的glTF 2.0文件读取、写入和验证器。
- steganography star:94 纯Go实现的LSB隐写(LSB steganography)的库。
- cameron star:67 一个Go语言的头像生成器。
- go-gd star:52 GD库的Go binding。
- gridder star:40 一个基于网格的2D图形库。
- goimghdr star:35 Go语言实现的imghdr模块用于确定文件的图像类型。
- tga star:27 tga包是一个TARGA图像的解码、编码器。
- go-webcolors star:25 Python下webcolors库的Go语言调用。
- webp-server star:7 能够存储、调整大小、转换和缓存图像的简单和最小的图像服务器。
- mpo star:6 MPO三维照片的解码和转换工具。
物联网
物联网设备编程库。 (翻译出错了? 试试 英文版 吧~)
- flogo star:1713 Flogo是一个面向物联网边缘应用和集成的开源框架。
- mainflux star:1363 工业物联网消息和设备管理服务器。
- periph 外围设备I/O与低级板(low-level board)设备接口。
- gatt star:975 Gatt是一个用于构建低能耗蓝牙外围设备的Go语言包。
- gobot Gobot是一个用于机器人、物理计算和物联网的框架。
- connectordb star:269 自我量化和物联网的开源平台。
- devices star:240 一套用于物联网设备的库,实验性地用于x/exp/io。
- sensorbee star:202 轻量级物联网流处理引擎。
- huego star:178 一个包含广泛的Philips Hue客户端的Go语言库。
- iot IoT是一个实现谷歌物联网核心设备的简单框架。
- eywa star:48 Eywa是一个用于跟踪连接的设备连接管理器。
作业调度器
用于作业调度的库。 (翻译出错了? 试试 英文版 吧~)
- gron star:845 使用简单的Go API定义基于时间的任务。 之后Gron的调度程序将运行它们。
- JobRunner star:842 智能和功能丰富的cron作业调度程序(包含任务队列和实时监控)。
- gocron star:650 熟练掌握Go工作调度。这是一个积极维护的分叉jasonlvhit/gocron。
- jobs star:480 持久和灵活的后台作业库。
- scheduler star:365 Cronjobs让调度变得很简单。
- clockwerk 使用简单、流畅的语法调度作业的Go语言库。
- go-cron star:202 一个Go实现的简单的定时任务库。可以在不同的时间间隔(每秒一次到在每年在特定的日期执行)执行闭包或函数。主要用于web应用和长时间运行的守护进程。
- go-quartz star:131 简单的,无依赖的Go调度库。
- leprechaun star:82 支持webhook、crons和经典调度的作业调度程序。
- tasks star:38 一个易于使用的进程内调度器,用于Go中的重复任务。
- clockwork star:27 Go实现的简单直观的作业调度库。
- cronticker star:1 支持cron调度的一个自动报价器实现。
JSON
用于JSON处理的库。 (翻译出错了? 试试 英文版 吧~)
- GJSON star:8152 使用一行代码获取JSON的值。
- gojson star:2349 从JSON自动生成Go的结构(struct)定义。
- fastjson star:1183 用于Go的快速JSON解析器和验证器。没有自定义结构,没有代码生成,没有反射。
- kazaam star:185 用于任意JSON文档转换的API。
- gojq star:167 Go语言实现的JSON请求。
- jsondiff star:109 Go的JSON diff库基于RFC6902 (JSON Patch)。
- jettison star:103 Go的快速灵活的JSON编码器。
- JSON-to-Go 将JSON转换为Go的结构(struct)。
- jsongo star:95 使用Fluent API来更容易地创建Json对象。
- gjo star:91 用于创建JSON对象的小工具。
- JayDiff star:83 用Go编写的JSON比对工具。
- json2go star:77 高级JSON去结构转换。提供一个包,该包可以解析多个JSON文档并创建结构体以适应所有这些文档。
- jsonf star:60 用于高亮展示和查询JSON的控制台工具。
- ajson star:56 为Go语言开发的包含JSONPath支持的抽象JSON。
- mp star:44 简单的cli电子邮件解析器。它目前接受stdin并输出JSON。
- go-respond star:41 用于处理常见的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:6 简洁地编写和读取来自不同来源的JSON。
- epoch star:5 包含用于封送/解封送Unix时间戳/纪元到内建时间的原语。时间类型为JSON。
- jzon star:4 具有标准兼容API/行为的JSON库。
- ask star:3 容易访问映射和片中的嵌套值。与encoding/json和其他将任意数据“解编组”为Go数据类型的包一起工作。
- mapslice-json star:3 去MapSlice的有序封送/解封的JSON地图。
- jsonic star:2 处理和查询JSON的实用程序,无需以类型安全的方式定义结构。
日志记录
用于生成和处理日志文件的库。 (翻译出错了? 试试 英文版 吧~)
- logrus star:17580 Go的结构化日志操作 。
- zap star:12345 快速、结构化、多等级的日志记录。
- zerolog star:4551 Zero-allocation JSON日志记录。
- spew star:4371 为Go数据结构实现一个漂亮的printer用于帮助调试。
- glog star:2681 为Go提供了多等级日志记录。
- lumberjack star:2479 简单的滚动日志,io.WriteCloser的实现。
- tail star:2042 努力模拟实现BSD的tail的特性的Go包。
- seelog star:1536 具有灵活调度、过滤和格式化的日志功能。
- log star:1111 Go的结构化日志包。
- log15 star:1008 简单、强大的日志操作。
- onelog star:391 Onelog是一个非常简单但非常高效的JSON日志记录器。它是所有场景中最快的JSON记录器。而且,它是配置最低的记录器之一。
- phuslu/log star:359 简化了结构化日志记录。
- logxi star:347 12-factor app的日志程序,快速且让人高兴地使用。
- logutils star:292 Go的用于更好地进行日志操作的实用程序,继承了标准日志库。
- log star:276 Go的简单、可配置和可伸缩的结构化日志。
- go-logger star:262 简单的日志程序的 Go 程序,与级别处理程序。
- httpretty star:223 在终端上美化您的常规HTTP请求以便调试(类似于HTTP . dumprequest)。
- rollingwriter star:169 RollingWriter是一个自动循环的io.Writer的实现,带有多种策略以提供日志文件循环(rotation)。
- sqldb-logger star:164 一个日志程序,用于不修改现有的* SQL . db stdlib用法的Go SQL数据库驱动程序。
- logger star:148 Go的精简日志库。
- xlog star:135 针对'net/context`实现的结构化的记录器,用于HTTP处理程序。
- yell 这是另一个极简的日志库。
- logur star:120 一个固执的logger接口,集合了著名库的适配器和集成的日志最佳实践(logrus, go-kit log, zap, zerolog,等等)。
- ozzo-log star:115 支持日志多等级、分类和过滤的高性能日志记录。可以发送过滤后的日志消息到各种目标(如控制台,网络,邮件)。
- glg star:109 glg是一个简单而快速的Go日志库。
- log-voyage star:88 用Go编写的功能齐全的日志写入saas。
- stdlog star:45 Stdlog是一个面向对象的库,提供了多等级日志记录。它对cron任务非常有用。
- go-cronowriter star:40 基于当前日期和时间的自动日志文件写入工具,类似cronolog。
- gologger star:39 为Go提供方便简单的日志操作; 在彩色控制台,简单控制台,文件或Elasticsearch上。
- go-log star:37 Log4j的Go语言。
- logex star:37 由标准日志库封装的Go日志库,支持跟踪和多等级。
- go-log star:28 支持多等级和多处理程序的日志库。
- distillog star:27 distilled日志记录(可以将其视为stdlib +日志)。
- journald star:26 Go实现systemd Journal的原生API用于日志记录。
- logrusly star:26 logrus的插件,将错误信息发送到Loggly。
- log star:24 Go的结构化日志接口,清晰地将日志facade与其实现(implementation)分离开来。
- mlog star:23 简单的go日志模块,有5个级别,可选循环(rotation)日志文件记录功能和stdout/stderr输出。
- gomol star:16 为Go实现可多方式输出、结构化日志, 并可扩展日志输出方式。
- gone/log 快速、可扩展、功能齐全、std-lib源兼容的日志库。
- zkits-logger star:15 一个强大的零依赖JSON记录器。
- glo star:13 参照PHP的Monolog实现的具有相同日志等级的Go日志库。
- go-log star:11 Go实现的简单且可配置的日志工具,并带有多等级、日志格式化和日志写入工具。
- logrusiowriter star:11 io。作者的实现使用logrus logger。
- logmatic star:10 Go的彩色日志记录器,带有可配置的日志级别。
- logdump star:9 用于多等级级日志记录的包。
- logo star:9 Go的日志工具,可配置的日志写入器。
- go-log star:8 具有strack跟踪、对象转储和可选时间戳的日志记录库。
- log star:8 一个O(1)日志系统,允许您将一个日志连接到多个日志写入(例如stdout、文件和TCP连接)。
- xlog star:6 插件架构和灵活的日志系统,带有多级别、多日志目标和自定义日志格式。
- kemba star:4 一个小的调试日志工具,灵感来自debug,非常适合CLI工具和应用程序。
机器学习
机器学习库。 (翻译出错了? 试试 英文版 吧~)
- GoLearn star:7760 通用机器学习库。
- gorgonia star:3953 基于图形(graph-based)的计算库,如Theano:它为构建各种机器学习和神经网络算法提供了基本框架。
- tfgo star:1684 易于使用的Tensorflow bindings:简化了官方Tensorflow Go bindings的使用。在Go中定义计算图形,在Python中加载和执行训练的模型。
- gosseract star:1432 使用c++的Tesseract库实现的OCR。
- goml star:1174 在线机器学习。
- gorse star:1173 基于协同过滤的离线推荐系统后端。
- eaopt star:721 一个进化优化(evolutionary optimization)库。
- bayesian star:698 Go的朴素贝叶斯分类。
- CloudForest star:683 快速、灵活、多线程集成的决策树,用于机器学习。
- gobrain star:472 用 Go 编写的神经网络库。
- ocrserver star:361 一个简单的OCR API服务器,非常容易地使用Docker和Heroku部署。
- onnx-go star:317 Go Interface, 用于开放式神经网络交换(Open Neural Network Exchange)。
- go-deep star:311 一个功能丰富的神经网络库 。
- regommend star:290 推荐和协同过滤引擎。
- go-galib star:183 用Go编写的遗传算法库。
- Goptuna star:172 Bayesian optimization framework for black-box functions written in Go. Everything will be optimized.
- goRecommend star:171 用Go编写的推荐算法库。
- shield star:137 贝叶斯文本分类器,具有灵活的tokenizers和存储后端。
- go-fann star:103 快速人工神经网络(FANN)库的Go bindings。
- goga star:102 Go的遗传算法库。
- libsvm star:67 基于LIBSVM 3.14实现。
- gonet star:66 用于围棋的神经网络。
- goscore star:64 为预言模型标记语言(PMML)实现的评分API。
- neural-go star:61 多层感知器网络在Go中的实现,使用反向传播算法进行训练。
- go-pr star:58 Go编写的模式识别包。
- neat star:58 即插即用的并行Go框架,用于增强拓扑的神经进化(NeuroEvolution of Augmenting Topologies)。
- go-featureprocessing star:53 Go中低延迟机器删除的快速方便的功能处理。
- fonet star:43 一个用Go编写的深度神经网络库。
- golinear star:41 Go实现的liblinear bindings。
- Varis star:35 Go实现的神经网络。
- go-cluster star:28 Go实现的k-modes和k-prototypes聚类算法。
- godist star:27 各种概率分布,以及相关的method。
- evoli star:15 遗传算法(Genetic Algorithm)和粒子群优化(Particle Swarm Optimization)库。
- probab star:14 概率分布函数。贝叶斯推理。使用Go写的。
- GoMind star:10 一个简单的神经网络库。
- randomforest star:8 容易使用随机森林库去。
- ddt star:7 动态决策树,创建定义可定制规则的树。
消息
实现消息传递系统的库。 (翻译出错了? 试试 英文版 吧~)
- sarama star:7031 Apache Kafka的Go库。
- gorush star:5375 使用APNs2和谷歌GCM推送通知服务器。
- machinery star:5091 基于分布式消息传递的异步任务/作业队列。
- Centrifugo star:4959 实时消息(Websockets或SockJS)服务器。
- go-socket.io star:4002 go的socket.io库,一个实时应用程序框架。
- NATS Go Client star:3295 轻量级和高性能的发布-订阅(publish-subscribe)和分布式队列消息传递系统——这是一个Go库。
- Benthos star:2983 一系列协议之间的消息流桥接。
- Confluent Kafka Golang Client star:2613 confluent-kafka-go是Confluent为Apache Kafka和Confluent平台开发的Golang客户端。
- APNs2 star:2473 HTTP / 2苹果消息推送provider——发送推送消息到iOS, tvOS, Safari和OSX应用。
- Mercure star:2381 使用Mercure协议分派服务器发送(server-sent)更新的服务器和库(构建在服务器发送事件之上)。
- melody star:2097 处理websocket session的极简框架,包括广播和自动ping/pong处理。
- gopush-cluster star:1966 gopush-cluster是一个gopush服务器集群。
- go-nsq star:1882 NSQ的官方Go包。
- Uniqush-Push star:1236 Redis支持的统一推送服务, 用于服务端向移动设备的消息通知。
- Beaver star:1071 一个实时消息服务器,可用于在web和手机app端构建一个可伸缩的应用内通知,多人游戏,聊天应用。
- Asynq star:1043 一个简单、可靠、高效的基于Redis的分布式任务队列。
- zmq4 star:906 ZeroMQ的Go interface第4版。也可用于第3版和第2版。
- EventBus star:901 具有异步兼容性的轻量级事件总线。
- Gollum star:887 一个n:m多路复用器(n:m multiplexer),收集不同来源的消息并将其广播到一组目的地。
- dbus star:578 D-Bus的Go bindings。
- golongpoll star:523 HTTP longpoll服务器库,使web发布-订阅变得简单。
- emitter star:394 使用Go的方式发出事件, 带有通配符、谓词、取消可能性和许多其他优点。
- mangos star:389 具有传输互操作性的Nanomsg(“可伸缩性协议”)的纯go实现。
- Glue star:366 健壮的Go和Javascript Socket库(替代Socket.io)。
- pubsub star:343 简单的pubsub的go包。
- Bus star:195 内部通信的最小消息总线实现。
- rabtap star:173 RabbitMQ的瑞士军刀cli应用。
- messagebus star:169 messagebus是一个Go的简单异步消息总线,非常适合在执行事件sourcing、CQRS和DDD时用作事件总线。
- guble star:146 使用推送通知服务(谷歌Firebase云消息、苹果推送通知服务、SMS)的消息服务器, 支持websockets,REST API,并具有分布式操作和消息持久性。
- oplog star:106 用于REST api的通用oplog/replication系统。
- hub star:99 适用于Go应用程序的消息/事件中心,使用publish/subscribe模式,并支持别名(类似rabbitMQ exchanges)。
- rabbus star:87 amqp exchanges和队列上的一个小工具。
- drone-line star:73 使用二进制、docker或Drone CI发送Line通知。
- nsq-event-bus star:67 一个围绕NSQ topic和channel的小工具。
- RapidMQ star:60 RapidMQ是用于管理本地消息队列的轻量且可靠的库。
- go-mq star:57 具有声明式配置的RabbitMQ客户端。
- redisqueue star:54 基于Redis streams的队列的生产者和消费者。
- Commander star:52 高级事件驱动的消费者/生产者(consumer/producer),支持各种“方言”,如Apache Kafka。
- go-notify star:52 原生的freedesktop通知规范实现。
- go-res star:46 用于构建REST/实时服务的包,其中客户端使用NATS和Resgate进行无缝同步。
- event star:37 观察者模式的实现。
- hare star:24 一个用户友好的库,用于发送消息和监听TCP套接字。
- gosd star:17 一种用于调度何时将消息分派到通道的库。
- ami star:16 基于Redis集群流的客户端到可靠队列。
- go-vitotrol star:16 用于Viessmann Vitotrol web服务的客户端库。
- jazz star:13 一个简单的RabbitMQ抽象层,用于队列管理和消息的发布和消费。
- rmqconn star:13 RabbitMQ重新连接。amqp.Connection和amqp.Dial之上的Wrapper。允许在强制调用Close()方法关闭连接之前重新连接。
- gaurun-client star:9 用Go编写的Gaurun客户端。
微软办公软件
- unioffice star:2808 用于创建和处理Office Word (.docx)、Excel (.xlsx)和Powerpoint (.pptx)文档的纯go库。
Microsoft Excel
用于操作Microsoft Excel的库。 (翻译出错了? 试试 英文版 吧~)
- excelize star:8369 用于读写Microsoft Excel™(XLSX)文件的Go语言库。
- xlsx star:4890 用以简化在Go程序中读取使用最新版本Microsoft Excel的XML格式文件的库。
- xlsx star:133 在Go程序以快速和安全的方式读取/更新现有的Microsoft Excel文件。
- go-excel star:115 一个简单轻便的阅读器,可以将类关系型数据库(relate-db-like)的excel作为表来读取。
- goxlsxwriter star:15 libxlsxwriter的Go binding, 用于编写XLSX (Microsoft Excel)文件。
杂项
依赖注入
用于处理依赖项注入的库。 (翻译出错了? 试试 英文版 吧~)
- fx star:1922 基于依赖注入的Go应用程序框架(构建在dig之上)。
- dig star:1852 一个基于反射的Go依赖注入工具包。
- container star:168 一个强大的IoC容器,具有流畅且易于使用的接口。
- dingo star:97 基于Guice的Go依赖注入工具包。
- di star:78 go编程语言的依赖注入容器。
- goioc/di star:74 受spring启发的依赖注入容器。
- alice star:44 Go的外挂的依赖注入容器。
- linker star:32 A reflection based dependency injection and inversion of control library with components lifecycle support.
- wire star:32 适用于Go的严格运行时依赖注入(Strict Runtime Dependency Injection)。
- gocontainer star:14 简单的依赖注入容器。
- kinit star:3 可定制的依赖注入容器,具有全局模式,级联初始化和紧急安全结束。
- nject/npoint star:3 基于库、测试和端点类型的类型安全的反射框架。
项目布局
用于组织项目的非正式模式集。 (翻译出错了? 试试 英文版 吧~)
- golang-standards/project-layout star:22393 Go生态系统中历史和新兴的项目布局模式集合。
- modern-go-application star:909 应用程序样板和应用现代实践的例子。
- cookiecutter-golang star:442 遵循生产最佳实践快速启动项目的Go应用程序样板模板。
- golang-templates/seed star:121 Go应用程序GitHub存储库模板。
- scaffold star:97 Scaffold生成一个starter Go项目布局。让您关注已实现的业务逻辑。
- go-sample star:83 带有实际代码的Go应用程序项目的示例布局。
- go-todo-backend star:63 去Todo后端示例使用模块化项目布局的产品微服务。
- insidieux/inizio star:8 带有插件的Golang项目布局生成器。
- gobase star:5 一个简单的golang应用框架,带有真实golang应用程序的基本设置。
字符串
处理字符串的库。 (翻译出错了? 试试 英文版 吧~)
- xstrings star:891 从其他语言移植的有用字符串函数合集。
- strutil star:116 字符串处理工具。
- go-formatter 实现替换字段由大括号'{}'格式字符串包围。
- gobeam/Stringy star:51 字符串操作库,可以将字符串转换为驼色,蛇色,烤肉色等。
未分类的
这些库之所以放在这里,是因为不适合放在其他分类。 (翻译出错了? 试试 英文版 吧~)
- gopsutil star:6131 用于检索进程和系统利用率(CPU、内存、磁盘等)的跨平台的库。
- archiver star:3174 用于生成和解压.zip和.tar.gz文档的库和命令。
- gofakeit star:1798 用go编写的随机数据生成器。
- gosms star:1326 Go编写的私人的本地短信网关,可以用来发送短信。
- gatus star:1241 自动服务运行状况仪表板。
- go-resiliency star:1169 Go语言弹性模式(resiliency pattern)。
- base64Captcha star:1067 base64Captcha支持数字,字母,算术,音频和混合模式的验证码。
- go-commons-pool star:931 Go语言的通用对象池。
- go-openapi 用于解析和使用开放api模式(open-api schemas)的包的集合。
- llvm star:679 用于在纯Go中与LLVM IR交互的库。
- shortid star:664 分布式地生成超短、唯一、非顺序、URL友好的id。
- health star:414 易于使用,可扩展的健康检查库。
- ghorg star:391 快速克隆整个org用户库到一个目录-支持GitHub, GitLab和Bitbucket。
- conv star:366 conv包提供了跨Go类型(Go types)的快速和直观的转换。
- banner star:339 在Go应用程序中添加漂亮的横幅(banner)。
- gountries star:304 获取国家和细节数据的包。
- stateless star:249 用于创建状态机的流畅库。
- ffmt star:224 美化数据,使其更适合人查看。
- antch star:201 一个快速、强大和可扩展的web爬虫框架。
- lk star:198 一个简单的版权许可证库。
- shoutrrr star:192 通知库提供了对各种消息服务(如slack、mattermost、fy和smtp等)的轻松访问。
- battery star:182 跨平台、标准化的电池信息库。
- healthcheck star:164 用于RESTful服务的强制的(opinionated)并发健康检查HTTP处理程序。
- stats star:147 Monitors Go MemStats + 诸如如内存,Swap和CPU的系统状态统计,并通过UDP发送到任何你想记录的地方
- bitio star:146 高度优化的位级读写器。
- go-unarr star:134 用于RAR、TAR、ZIP和7z文件的解压缩库。
- turtle star:121 Go的Emojis库。
- gommit star:92 分析git提交消息,确保它们遵循已定义的格式。
- gotoprom star:89 为Prometheus客户端提供类型安全的指标(metric)构建工具库。
- indigo star:81 分布式唯一ID生成器, 使用Sonyflake并由Base58编码。
- captcha star:76 captcha包为验证码生成提供了一个易于使用的、unopinionated的API。
- morse star:68 实现字符串与摩尔斯电码转换的库。
- pdfgen star:50 通过Json请求生成PDF的HTTP服务。
- persian star:50 一些适用于波斯语的Go工具库。
- xkg star:50 X Keyboard Grabber(键盘事件捕获)
- browscap_go star:37 用于Browser Capabilities Project的Go库。
- datacounter star:36 用于readers/writer/http.ResponseWriter的计数器。
- autoflags star:34 从struct字段自动定义命令行flag的Go包。
- faker star:34 随机假数据和结构生成器为Go。
- sandid star:29 能沟让地球上的每一粒沙子都有自己的ID。
- gosh star:25 提供Go统计处理程序,结构和测量方法。
- url-shortener star:25 一个现代的、强大的、健壮的URL转短链接微服务,带有mysql支持。
- VarHandler 用于生成http输入和输出处理模板。
- xdg star:25 FreeDesktop.org (xdg)规范在Go中的实现。
- metrics star:19 用于instrumentation和Prometheus exposition的库。
- shellwords star:14 一个Go库,实现了依照UNIX Bourne shell的关键词解析规则进行字符串操纵。
- anagent star:12 Go语言的最小化,可插入的evloop/timer处理程序, 带有依赖注入。
- avgRating star:10 根据威尔逊得分排序算法(Wilson Score Equation)计算平均分和评分。
- hostutils star:9 一个用于打包和解包FQDNs列表的go语言库。
- numa star:5 NUMA是一个用go编写的实用程序库。它可以帮助我们编写一些NUMA-AWARED代码。
自然语言处理
用于处理人类语言的库。 (翻译出错了? 试试 英文版 吧~)
- prose star:2723 支持标记化、词性标记、命名实体提取等文本处理的库。只说英语。
- gse star:1553 高效的文本分割;支持英语、汉语、日语等。
- gojieba star:1459 这是一个Go实现的jieba,这是一个中文分词算法。
- when star:1116 带有可插入规则的自然EN和RU语言日期/时间解析器。
- go-pinyin star:916 中文汉字到汉语拼音的转换。
- spaGO star:859 Go中的独立机器学习和自然语言处理库。
- kagome star:556 JP形态学分析仪编写的纯Go。
- whatlanggo star:483 Go的自然语言检测包。支持84种语言和24种脚本(书写系统,如拉丁语、西里尔语等)。
- nlp star:367 从字符串中提取值并用nlp填充结构。
- nlp star:306 支持LSA(潜在语义分析)的Go自然语言处理库。
- sentences star:294 句子标记器:将文本转换为句子列表。
- getlang star:110 快速自然语言检测包。
- go-i18n 软件包和用于处理本地化文本的附带工具。
- go-nlp star:89 用于处理离散概率分布的实用程序和用于进行NLP工作的其他工具。
- go-unidecode star:86 Unicode文本的ASCII音译。
- RAKE.go star:78 快速自动关键字提取算法(RAKE)的Go端口。
- gounidecode star:72 用于Go的Unicode音译器(也称为unidecode)。
- textcat star:65 Go package支持基于n-gram的文本分类,支持utf-8和原始文本。
- go-stem star:61 波特词干算法的实现。
- segment star:60 Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29
- MMSEGO star:59 这是一个 Go 实现的MMSEG,这是一个中文分词算法。
- stemmer star:50 用于Go编程语言的Stemmer包。包括英语和德语词根。
- go2vec star:41 用于word2vec嵌入式的阅读器和实用程序函数。
- porter2 star:39 非常快的波特2史坦默。
- petrovich star:33 彼得罗维奇是一个图书馆,它把俄语名字的词形变化成特定的语法格。
- address star:27 处理地址表示、验证和格式。
- snowball star:27 滚雪球柄端口(cgo包装)为 Go 。提供词干提取功能Snowball native。
- paicehusk star:26 Golang实现了Paice/外壳阻塞算法。
- go-mystem star:25 CGo绑定到Yandex。Mystem -俄罗斯形态学分析仪。
- iuliia-go star:22 直译斯拉夫字母→拉丁以所有可能的方式。
- go-localize star:21 简单易用的i18n(国际化和本地化)引擎——用于翻译语言环境字符串。
- icu star:19 Cgo绑定用于icu4c C库的检测和转换功能。保证与版本50.1兼容。
- golibstemmer star:18 Go 绑定斯诺鲍libstemmer库,包括波特2。
- govader star:15 [VADER情绪分析]的Go实现(https://github.com/cjhutto/vaderSentiment)。
- shamoji star:12 shamoji是用Go编写的word过滤包。
- gotokenizer star:10 一种基于字典和双字母格朗语言模型的记号赋予器。(现在只支持中文分割)
- libtextcat star:10 用于libtextcat C库的Cgo绑定。保证与版本2.2兼容。
- transliterator star:10 提供单向字符串音译,并支持特定于语言的音译规则。
- porter star:8 这是Martin Porter在C语言中实现的Porter词干分析算法的一个相当简单的移植。
- detectlanguage star:7 语言检测API Go客户端。支持批量请求,短短语或单字语言检测。
- gosentiwordnet star:6 情绪分析器使用的多愁善感网词汇在Go。
网络
用于处理各种网络层的库。 (翻译出错了? 试试 英文版 吧~)
- fasthttp star:14827 一个快速HTTP实现,比net/http快10倍。
- kcptun star:12398 基于KCP协议的非常简单和快速udp隧道。
- webrtc star:6911 WebRTC API的纯Go实现。
- dns star:5447 用于 DNS 的库。
- quic-go star:5140 在纯Go中实现了QUIC协议。
- gnet star:4094 “gnet”是一个用纯Go编写的高性能、轻量级、非阻塞、事件驱动的网络框架。
- gopacket star:4081 Go library for packet processing with libpcap bindings.
- HTTPLab star:3667 HTTPLabs 允许你检查 HTTP 请求和伪造响应。
- kcp-go star:2925 快速可靠的ARQ协议。
- gobgp star:2180 基于 Go 的 BGP 实现。
- ssh star:1979 用于构建SSH服务器的高级API(封装密码/ SSH)。
- fortio star:1851 负载测试库和命令行工具,高级的echo服务器和web UI。允许指定一组每秒查询的负载,并记录延迟直方图和其他有用的统计数据,并将它们作图。支持Tcp、Http、gRPC。
- water star:1210 简单TUN / TAP图书馆。
- go-getter star:1129 通过URL来下载文件或目录。
- gev star:1094 gev是一个基于反应器模式的轻量级、快速的非阻塞TCP网络库。
- NFF-Go star:1036 用于快速开发云计算和裸机网络功能的框架(原YANFF)。
- sftp star:976 Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.
- grab star:824 用于管理文件下载。
- ftp star:787 实现了RFC 959中描述的ftp客户端。
- mdns star:762 简单mDNS(Multicast DNS)客户端/服务器库。
- mqttPaho Paho Go客户端提供了一个 MQTT 客户端库,用于通过TCP、TLS或WebSockets连接到MQTT代理。
- vssh star:712 Go库建立网络和服务器自动化的SSH协议。
- gosnmp star:707 用于执行 SNMP 操作的原生 Go 库。
- lhttp star:605 强大的websocket框架,可以让你更容易的构建IM服务器。
- cidranger star:597 快速得 IP 到 CIDR 查找。
- gotcp star:478 用于快速编写 tcp 应用程序。
- peerdiscovery star:478 基于UDP组播的跨平台本地对等点发现库。
- stun star:457 Go实现的RFC 5389 STUN协议。
- go-stun star:426 实现了 STUN 客户端(RFC 3489和RFC 5389)。
- gopcap star:413 用 Go 实现了对 libpcap 的封装。
- raw star:389 Package raw支持在设备驱动程序级别读取和写入网络接口的数据。
- tcp_server star:364 Go 图书馆建设tcp服务器更快。
- gmqtt star:312 Gmqtt是一个灵活、高性能的MQTT代理库,它完全实现了MQTT协议V3.1.1。
- winrm star:296 Go WinRM客户端远程执行Windows机器上的命令。
- gaio star:283 高性能异步io网络在proactor模式下的Golang。
- arp star:254 实现了arp协议,如RFC 826中所述。
- buffstreams star:243 通过TCP传输协议缓冲区数据。
- ftpserverlib star:240 功能齐全的FTP服务器库。
- ethernet star:221 实现了对IEEE 802.3以太网II帧和IEEE 802.1Q VLAN标签的编组和解组。
- gNxI star:174 一组基于 gNMI 和 gNOI 协议的网络管理工具。
- jazigo star:165 Jazigo是一个用Go编写的工具,用于检索多个网络设备的配置。
- utp star:157 Go uTP微传输协议的实现。
- canopus star:144 CoAP客户端/服务器实现(RFC 7252)。
- sslb star:130 它是一个超级简单的负载平衡器,只是一个实现某种性能的小项目。
- xtcp star:116 TCP服务器框架,同时全双工通信,优雅的关机,和自定义协议。
- nbio star:111 用Go编写的高性能、非阻塞、事件驱动、易于使用、依赖性最小的网络框架。
- dhcp6 star:69 实现了一个DHCPv6服务器,如RFC 3315所述。
- ether star:69 一个用于发送和接收以太网帧的跨平台 Go 库。
- packet star:56 通过TCP和UDP发送数据包。它可以缓冲消息和热交换连接。
- linkio star:50 网络链路速度模拟,主要用于接口的读/写。
- iplib star:44 用于处理IP地址的库(net)。借鉴于python 的 ipaddress和ruby ipaddr
- portproxy star:44 Simple TCP proxy which adds CORS support to API's which don't support it.
- graval star:26 FTP服务器框架。
- go-powerdns star:25 Golang的PowerDNS API绑定。
- panoptes-stream star:22 云本地分布式流媒体网络遥测(gNMI, Juniper JTI和Cisco MDT)。
- publicip star:21 包publicip返回面向公共的IPv4地址(internet出口)。
- golibwireshark star:19 用于解码 pcap 文件和分析解剖数据。
- gohooks star:12 gohook使得从Go应用程序发送和使用安全的web钩子变得很容易。灵感来自空间的Laravel Webhook客户端和服务器。
- llb star:11 一个非常简单、快速的代理服务器后端。可用于快速重定向到预定义域,具有零内存分配和快速响应。
- goshark star:10 用于解码IP包,创建用于分析的数据结构包。
- httpproxy star:9 HTTP代理处理程序和拨号。
- tspool star:9 TCP库使用工作池来提高性能并保护服务器。
HTTP客户端
用于发出HTTP请求的库。 (翻译出错了? 试试 英文版 吧~)
- resty star:4110 简单的 HTTP 和 REST 客户端,受到 Ruby rest-client 的启发。
- heimdall star:1803 具有重试和hystrix功能的增强http客户机。
- grequests star:1762 一个 Go “克隆”的伟大和著名的请求库。
- sling star:1268 Sling是一个用于创建和发送API请求的Go HTTP客户端库。
- gentleman star:890 功能齐全的插件驱动HTTP客户端库。
- pester star:546 使用重试、后退和并发执行HTTP客户机调用。
- request star:110 golang的HTTP客户端。如果您有关于axios或请求的经验,您会喜欢它。没有第三依赖性。
- rq star:37 golang stdlib HTTP客户端更好的接口。
- go-http-client star:16 简单而容易地进行http调用。
- httpretry star:12 用重试功能丰富默认的go HTTP客户端。
OpenGL
用于在Go中使用OpenGL的库。 (翻译出错了? 试试 英文版 吧~)
- glfw star:1082 GLFW 3 的 Go 接口实现。
- gl star:792 OpenGL 的 Go 接口实现(通过glow生成)。
- mathgl star:367 完全基于 Go 实现的数学软件包,专门用于处理三维数学。借鉴于 GLM。
- goxjs/gl star:148 跨平台的OpenGL 接口实现(OS X, Linux, Windows,浏览器,iOS, Android)。
- goxjs/glfw star:68 跨平台 glfw 库,可用于创建 OpenGL 上下文并接收事件。
- go-glmatrix star:2 访问glMatrix库的端口。
ORM
Libraries that implement Object-Relational Mapping or datamapping techniques. (翻译出错了? 试试 英文版 吧~)
- GORM star:23468 一个出色的 ORM 库。主要目标是对开发人员友好。
- ent star:6970 一个用于Go的实体框架。用于建模和查询数据的简单而强大的ORM。
- go-pg star:4541 用于 PostgreSQL 的ORM。侧重于 PostgreSQL 的特性和性能。
- SQLBoiler star:3835 ORM 生成器。根据数据库 schema 生成一个功能强大且运行速度快的ORM。
- gorp star:3489 基于 Go 的关系持久性 ORM-ish 库。
- upper.io/db star:2531 对外提供统一的接口用于访问不同的存储介质,例如PostgreSQL, MySQL, SQLite, MSSQL, QL、MongoDB.。
- XORM 简单而强大的ORM for Go。(支持:MySQL, MyMysql, PostgreSQL, Tidb, SQLite3, MsSql和Oracle)。
- reform star:1113 基于非空接口和代码生成的 ORM。
- gormt star:1099 Mysql数据库到golang gorm结构。
- pop/soda star:1053 数据库迁移、创建、ORM等。用于MySQL、PostgreSQL和SQLite。
- go-queryset star:604 基于 GORM 100% 类型安全的 ORM。可支持 MySQL, PostgreSQL, Sqlite3, SQL Server。
- go-sqlbuilder star:554 一个灵活而强大的SQL字符串构建器库。
- QBS star:551 Stands for Query By Struct. A Go ORM.
- beego orm 强大的orm框架。支持: pq/mysql/sqlite3。
- rel star:329 Golang的现代数据库访问层——可测试、可扩展,并精心设计成一个干净优雅的API。
- Zoom star:273 基于 Redis 的快速数据存储和查询引擎。
- grimoire star:151 基于 golang 的数据库访问层和验证库。(支持: MySQL, PostgreSQL和SQLite3)。
- go-sql star:142 一个简单的ORM为mysql。
- go-store star:101 简单且快速的 Redis 键值存储库。
- go-firestorm star:22 一个轻量级的ORM。用于Google/Firebase Cloud Firestore。
- lore star:6 Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go.
- marlow star:5 从项目结构生成ORM。
包管理
用于管理依赖和包的官方工具 (翻译出错了? 试试 英文版 吧~)
- go modules Modules 是源码的版本控制和交换的单位。go命令直接支持处理模块,包括记录和解决对其他模块的依赖关系。
包管理的官方实验工具 (翻译出错了? 试试 英文版 吧~)
用于包和依赖项管理的非官方库。 (翻译出错了? 试试 英文版 吧~)
- glide star:8097 轻松管理您的 golang 第三方包。受Maven、Bundler和Pip等工具的启发。
- godep star:5627 godep是go的依赖工具,它通过修复包的依赖关系来帮助构建可重复的包。
- govendor star:5013 包管理器。使用 vendor 文件的 Go vendor 工具。
- gopm star:2494 包管理器。
- gom star:1391 Go Manager - bundle for Go。
- gpm star:1198 基本的 Go 依赖管理器。
- goop star:779 Go 的简单依赖管理器,灵感来自Bundler。
- modgv star:363 将'go mod graph'输出转换为Graphviz的点语言。
- nut star:241 vendor 依赖。
- johnny-deps star:215 使用Git的最小依赖版本。
- mvn-golang star:122 插件,为自动加载Golang SDK,依赖关系管理和启动Maven项目基础设施中的构建环境提供了方法。
- VenGO star:121 创建和管理可导出的隔离go虚拟环境。
- gop star:49 在GOPATH之外构建和管理Go应用程序。
性能
- jaeger star:13206 分布式跟踪系统。
- profile star:1416 Go的简单分析支持包。
- statsviz star:1031 实时可视化您的Go应用程序运行时统计数据。
- pixie star:603 通过eBPF对Golang应用程序没有检测跟踪。
- tracer star:41 简单、轻量级的跟踪。
查询语言
- graphql-go star:7535 为Go实现GraphQL。
- gqlgen star:5797 去生成基于graphql服务器库。
- graphql star:3669 关注易用性的GraphQL服务器。
- gojsonq star:1647 一个用来查询JSON数据的Go包。
- dasel star:793 使用命令行中的选择器查询和更新数据结构。与jq/yq类似,但支持JSON、YAML、TOML和XML,运行时依赖关系为零。
- jsonql star:244 Golang中的JSON查询表达式库。
- rql star:192 用于REST API的资源查询语言。
- graphql star:52 graphql解析器+工具集
- jsonslice star:52 使用高级过滤器查询Jsonpath。
- api-fu star:30 综合GraphQL实现。
- straf star:26 轻松地将Golang结构转换为GraphQL对象。
- rqp star:16 REST API的查询解析器。查询中直接支持筛选、验证、'和'或'操作。
- jsonpath star:5 一个基于JSONPath语法检索部分JSON的查询库。
- gws star:4 Apollos的“GraphQL over Websocket”客户端和服务器实现。
嵌入的资源
- packr star:3204 将静态文件嵌入到Go二进制文件中的简单方法。
- statik star:3165 将静态文件嵌入到Go可执行文件中。
- go.rice star:2185 走了。rice是一个Go包,它使得处理HTML、JS、CSS、图像和模板等资源非常容易。
- vfsgen star:926 生成一个vfsdata。静态实现给定虚拟文件系统的go文件。
- esc star:595 将文件嵌入到Go程序中并提供http文件系统接口。
- fileb0x star:587 一个可定制的工具用来在Go中嵌入文件
- go-resources star:173 嵌入到Go中的普通资源。
- statics star:62 将静态资源嵌入到go文件中,用于单个二进制编译+使用http。文件系统+符号链接。
- go-embed star:28 生成go代码,将资源文件嵌入到库或可执行文件中。
- templify star:26 将外部模板文件嵌入到Go代码中,以创建单个文件二进制文件。
- rebed star:15 重新创建Go 1.16' embed中的文件夹结构和文件。FS的类型
- mule star:9 嵌入外部资源,如图像,电影…
科学与数据分析
用于科学计算和数据分析的库。 (翻译出错了? 试试 英文版 吧~)
- gonum star:4764 Gonum是一组用于Go编程语言的数字库。它包含用于矩阵、统计、优化等的库。
- stats star:1942 包含Golang标准库中缺少的公共函数的统计软件包。
- gonum/plot star:1856 gonum/plot提供了一个API,用于在Go中构建和绘制绘图。
- gosl star:1567 提供线性代数,FFT,几何,NURBS,数值方法,概率,优化,微分方程,等等。
- streamtools star:1311 通用图形工具,用于处理数据流。
- go-dsp star:721 Go数字信号处理。
- chart star:672 简单的图表绘制库。支持多种图形类型。
- goraph star:637 纯Go图论库(数据结构,算法可视化)。
- dataframe-go star:509 用于机器学习和统计的数据框架(类似于panda)。
- graph star:435 基本图形算法库。
- orb star:388 2D几何类型,支持剪切、GeoJSON和Mapbox矢量平铺。
- ewma star:326 提供指数加权移动平均算法。
- calendarheatmap star:258 基于Github贡献活动的日历热图。
- gohistogram star:151 数据流的近似直方图。
- TextRank star:128 TextRank在Golang中的实现,支持扩展特性(摘要、加权、短语提取)和多线程(goroutine)。
- sparse star:112 Go 稀疏矩阵格式的线性代数支持科学和机器学习应用程序,兼容gonum矩阵库。
- go-estimate star:76 Go中的状态估计和滤波算法。
- pagerank star:68 加权 PageRank 算法在Go中的实现。
- geom star:47 Go 的二维几何。
- evaler star:44 简单的浮点算术表达式求值器。
- goent star:24 Go 实现熵度量。
- decimal star:20 Package decimal实现任意精度的十进制浮点运算。
- triangolatte star:19 二维三角库。允许将线和多边形(都基于点)转换为gpu语言。
- piecewiselinear star:16 微型线性插值库。
- GoStats star:14 GoStats是一个开放源码的GoLang库,主要用于机器学习领域的数学统计,它涵盖了大多数统计度量函数。
- PiHex star:14 实现了针对16进制数 Pi 的“bailee - borwein - plouffe”算法。
- ode star:13 常微分方程(ODE)求解器,支持扩展状态和基于信道的迭代停止条件。
- assocentity star:6 assocentity 返回单词到给定实体的平均距离。
- go-gt star:5 用“Go”语言编写的图论算法。
- bradleyterry star:4 为成对比较提供了一个 Bradley-Terry 模型。
- rootfinding star:4 二次函数求根算法库。
安全
用于帮助您的应用程序更安全的库。 (翻译出错了? 试试 英文版 吧~)
- lego star:4551 纯 Go ACME 客户端库及命令行工具
- Cameradar star:2524 工具和库,以远程入侵RTSP流从监控摄像头。
- memguard star:1883 一个用于处理内存中敏感值的纯Go库。
- acmetool star:1837 ACME(让我们用自动更新加密)客户端工具。
- secure star:1644 Go 语言 HTTP 中间件,为 Go 提供了一些安全功能
- themis star:1247 用于解决典型数据安全任务(安全数据存储、安全消息传递、零知识证明认证)的高级加密库,可用于14种语言,最适合多平台应用程序。
- acra star:741 网络加密代理保护基于数据库的应用程序免受数据泄漏:强选择性加密,SQL注入预防,入侵检测系统。
- nacl star:508 Go 实现NaCL API的集合。
- firewalld-rest star:306 用于动态更新linux服务器上的firewalld规则的rest应用程序。
- BadActor star:297 一个驻留在内存中的,应用驱动的监控程序,受 fail2ban 的启发
- ssh-vault star:279 使用ssh密钥加密/解密。
- go-password-validator star:267 基于原始密码熵值的密码验证器。
- optimus-go star:267 使用Knuth的算法进行ID哈希和混淆。
- passlib star:241 不过时的密码哈希库。
- go-yara star:202 YARA的 Go 语言接口,号称是 “对于恶意软件研究者(以及其他人)来说是模式匹配的瑞士军刀”
- simple-scrypt star:170 Scrypt 库,具有简单、易懂的 API,同时具有内置的自动校准功能
- argon2pw star:85 使用常量时间密码比较生成Argon2密码散列。
- autocert 让我们加密证书并启动TLS服务器。
- goSecretBoxPassword star:41 一个安全哈希和加密密码的偏执包。
- Interpol 基于规则的数据生成器,用于模糊和渗透测试。
- certificates star:20 用于生成tls证书的自定义工具。
- go-generate-password star:18 可以在cli上或作为库使用的密码生成器。
- secureio star:15 一个密钥交换+认证+加密的包装和多路复用的' io。读写ecloser '基于XChaCha20-poly1305, ECDH和ED25519。
- goArgonPass star:14 Argon2密码散列和验证设计为与现有Python和PHP实现兼容。
- argon2-hashing star:12 轻包装周围的Go的argon2包,它与Go的标准库Bcrypt和simple-scrypt包密切镜像。
- sslmgr star:10 使用围绕acme/autocert的高级包装器,SSL证书变得很容易。
序列化
用于二进制序列化的库和工具。 (翻译出错了? 试试 英文版 吧~)
- jsoniter star:9151 高性能,100% 兼容的“encoding/json” 替代品
- goprotobuf star:7572 通过库和协议编译器插件使 Go 语言支持 Google的 protocol buffers.
- gogoprotobuf star:4510 Go 语言的 Protocol Buffer 库。
- mapstructure star:4364 用于对原生键值对进行解码生成 Go 语言结构体
- go-codec star:1525 高性能、多功能、规范化编码解码以及 rpc 库, 用于 msgpack, cbor 和 json,支持基于运行时的 OR 码生成
- colfer star:599 为Colfer二进制格式生成代码。
- csvutil star:509 高性能、惯用的CSV记录编码和解码到本机Go结构。
- go-capnproto star:278 Go 语言用的 Cap'n Proto 库及解析器
- cbor star:258 小,安全,容易的CBOR编码和解码库。
- php_session_decoder star:147 用于协同 PHP session 格式数据和 PHP 序列化/反序列化函数工作的go语言库
- structomap star:122 用于从静态结构体简单、动态的生成键值对的库
- bambam star:62 用于 Go 语言生成 Cap'n Proto schemas 的生成器
- asn1 star:47 面向golang的BER和DER编码库。
- binstruct star:31 用于将数据映射到结构中的Golang二进制解码器。
- fwencoder star:14 用于Go的固定宽度文件解析器(编码和解码库)。
- elastic star:13 在运行时跨不同类型转换片、映射或任何其他未知值
- pletter star:13 A standard way to wrap a proto message for message brokers.
- bel star:12 从Go structs/interface生成TypeScript接口。对JSON RPC很有用。
- fixedwidth star:5 固定宽度的文本格式(支持UTF-8)。
- go-lctree star:2 提供一个CLI和原语来序列化和反序列化[LeetCode二进制树](https://support.leetcode.com/hc/en-us/articles/360011883654-what-does -1-null-2-3-mean-in-二进制树表示)。
- unitpacking star:1 标准库将单元向量打包到尽可能少的字节中。
服务器应用程序
- etcd star:35469 为共享配置和服务发现提供高可用的键值存储。
- Caddy star:33049 Caddy是另一种HTTP/2 web服务器,易于配置和使用。
- consul Consul 是一个用于服务发现、监控和配置的工具
- minio star:26832 Minio是一个分布式对象存储服务器。
- RoadRunner star:5422 高性能PHP应用服务器,负载平衡器和进程管理器。
- devd star:3107 为开发人员提供本地web服务器。
- SFTPGo star:2452 完全功能和高度可配置的SFTP服务器与可选的FTP/S和WebDAV支持。它可以为本地文件系统和云存储后端(如S3和谷歌云存储)提供服务。
- algernon star:1794 内置支持Lua、Markdown、GCSS和Amber的HTTP/2 web服务器。
- Flagr star:1529 Flagr是一个开源特性标记和A/B测试服务。
- Fider star:1507 Fider是一个收集和组织客户反馈的开放平台。
- flipt star:1433 一个用Go和Vue.js编写的自包含特性标志解决方案
- discovery star:1348 用于弹性中间层负载平衡和故障转移的注册表。
- Trickster star:1327 HTTP反向代理缓存和时间序列加速器。
- jackal star:925 用Go编写的XMPP服务器。
- dudeldu star:123 一个简单的SHOUTcast服务器。
- lets-proxy2 star:51 Reverse proxy for handle https with issue certificates in fly from lets-encrypt.
- go-feature-flag star:39 一个特性标志解决方案,在后端只有一个YAML文件(S3、GitHub、HTTP、本地文件……),不需要安装服务器,只需要在中央系统中添加一个文件并引用它。
- psql-streamer star:27 从PostgreSQL到Kafka的流数据库事件。
- riemann-relay 传递到负载平衡Riemann事件并/或将其转换为 Carbon。
- nginx-prometheus star:20 Nginx日志解析器和Prometheus 导出。
- nsq 一个实时分布式消息平台。
- cortex-tenant star:14 Prometheus远程写代理,添加了基于度量标签的add Cortex租户ID头。
- protoxy star:13 将JSON请求体转换为协议缓冲区的代理服务器。
- simple-jwt-provider star:13 展示JWTs的简单轻量级提供者,支持登录、密码重置(通过邮件)和用户管理。
- go-proxy-cache star:8 简单的反向代理与缓存,写在Go,使用Redis。
流处理
用于流处理和响应式编程的库和工具。 (翻译出错了? 试试 英文版 吧~)
- go-streams star:622 流处理库。
- machine star:79 使用内置的度量和可跟踪性来编写和生成流工作人员。
- stream star:29 去流,像Java 8流:过滤器/地图/平面地图/Peek/排序/ForEach/减少…
模板引擎
用于模板和词法分析的库和工具。 (翻译出错了? 试试 英文版 吧~)
- gofpdf star:3781 PDF 文档生成器,支持文本,绘图和图片
- sprig star:2257 Go模板的有用模板函数。
- quicktemplate star:2029 快速、强大且易用的模板引擎。将模板转化为 Go 语言并进行编译
- pongo2 star:1940 类似 DjanGo 的模板引擎
- hero star:1449 Hero是一个方便、快速和强大的go模板引擎。
- mustache star:1011 Go 语言实现的 Mustache 模板语言
- amber star:874 Amber是一个优雅的Go编程语言模板引擎,它的灵感来自HAML和Jade。
- ace star:798 Ace 是一个 Go 语言的 HTML 模板引擎,受到了 Slim 和 Jade 的启发。 Ace 是对Gold的一种改进。
- Razor star:773 Go 语言的 Razor 视图引擎
- jet star:766 Jet模板引擎。
- ego star:480 轻量级模板语言,允许您在Go中编写模板。模板被翻译成Go并编译。
- fasttemplate star:477 简单快速的模板引擎。进行模板元素替换时,速度是比text/template快10倍。
- raymond star:421 使用 Go 语言实现的完整的 handlebars
- maroto star:341 创建pdf文件的maroto方法。Maroto的灵感来自于Bootstrap并使用gofpdf。快速和简单。
- goview star:219 Goview是一个轻量级、极简的模板库,基于golang html/template构建Go web应用程序。
- Soy star:155 Go 语言实现的谷歌闭包模板(也就是 Soy templates) ,遵循官方规范。
- liquid star:118 Go 语言实现的 Shopify Liquid 模板.
- velvet star:72 使用 Go 语言实现的完整的 handlebars
- kasia.go star:71 一个用于HTML 和其他文本文件的模板系统,使用go语言实现
- extemplate star:32 对 html/template 进行了简单的封装,支持基于文件的模板可以利用其他模板文件进行扩展
- gospin star:25 文章纺纱和spintax/纺纱语法引擎,适用于A/B,测试文本/文章片段和创建更多的自然对话。
- damsel star:24 标记语言,通过css选择器实现了 html 框架 ,并可以通过 pkg html/template 等进行扩展
测试
用于测试代码库和生成测试数据的库。 (翻译出错了? 试试 英文版 吧~)
-
Testing Frameworks
- Testify star:12988 对标准测试包的扩展。
- testmd 将markdown代码段转换为可测试的go代码。
- go-cmp star:2227 用于比较测试中的Go值的包。
- httpexpect star:1656 简洁的、声明式的、易用的端到端HTTP 及 REST API 测试
- godog star:1303 类似 Cucumber 或 Behat 的 BDD 框架
- goblin star:774 类似Mocha的测试框架。
- baloo star:705 表达性强、多功能的、端到端的HTTP API 测试工具
- testfixtures star:650 类似 Rails 的测试工具,用于测试数据库应用
- go-vcr star:498 记录并回放HTTP交互,以便进行快速、确定和准确的测试。
- gnomock star:421 在Docker中运行与真实依赖项(数据库、缓存,甚至是Kubernetes或AWS)的集成测试,而不使用模拟。
- go-mutesting star:389 变异测试的Go源代码。
- gofight star:366 对 Go 语言的路由框架进行 API 测试
- goc star:333 Goc是一个针对Go编程语言的全面覆盖测试系统。
- gocheck 更加高级的测试框架,用于替换 Gotest
- GoConvey BDD 风格的测试框架,具有 web 界面和计时刷新功能
- frisby star:265 REST API测试框架。
- ginkgo Go的BDD测试框架。
- gotest.tools star:213 一组包,用于增强go测试包并支持公共模式。
- go-carpet star:210 在终端中查看测试覆盖率的工具。
- charlatan star:195 为测试生成假接口实现的工具。
- commander star:184 用于在windows、linux和osx上测试cli应用程序的工具。
- endly star:181 声明性端到端功能测试。
- go-testdeep star:151 极具灵活性的golang深度比较,扩展了go测试包。
- cupaloy star:135 测试框架的简单快照测试插件。
- dbcleaner star:126 清空数据库用于测试,受到database_cleaner 的启发
- GoSpec star:114 用于 Go 编程语言的bdd风格的测试框架。
- embedded-postgres star:111 作为另一个Go应用程序或测试的一部分,在Linux、OSX或Windows上本地运行一个真正的Postgres数据库。
- wstest star:83 用于单元测试Websocket http.Handler的Websocket客户机。
- gocrest star:78 用于 Go 断言的可组合的类似 hamcrest 的 matchers。
- apitest 基于REST的服务/HTTP处理程序的简单且可扩展的行为测试库,支持模拟外部HTTP调用和呈现序列图
- testcase star:65 行为驱动开发的惯用测试框架。
- jsonassert star:60 用于验证JSON有效负载已正确序列化的包。
- gospecify star:53 支持 BDD 语法 。对于任何使用过 rspec 等库的人来说应该非常熟悉。
- restit star:52 帮助编写 RESTful API 集成测试的 Go 语言微型框架.。
- gomatch star:39 为针对模式测试JSON而创建的库。
- gomega 类似 Rspec 的 matcher/assertion 库
- covergates star:38 自托管的代码覆盖报告审查和管理服务。
- dsunit star:38 用于SQL、NoSQL、结构化文件的数据存储测试。
- assert star:30 基础断言库,用于对 Go 语言程序进行测试,提供了一些用于自定义断言的代码块
- go-hit star:30 Hit是一个用golang编写的http集成测试框架。
- Hamcrest star:26 用于声明性 Matcher 对象的连贯框架,当将其应用于输入值时,将产生自描述结果。
- flute star:15 HTTP客户端测试框架。
- schema star:15 快速、简单地匹配请求和响应中使用的JSON模式的表达式。
- badio star:10 Go 语言 testing/iotest 包的扩展。
- biff star:10 分支测试框架,BDD兼容。
- testsql star:10 在测试前从SQL文件生成测试数据,并在测试完成后清除数据。
- gogiven star:9 类似于 YATSPEC 的Go BDD测试框架。
- gosuite star:9 轻量级测试套,为 Go1.7's Subtests 带来了setup/teardown 功能
- stop-and-go star:5 并发性测试助手。
- Tt star:5 简单而丰富多彩的测试工具。
- trial star:4 无需引入太多样板,即可快速轻松地扩展断言。
-
Mock
- gomock star:5413 用于Go编程语言的mock框架。
- go-sqlmock star:3417 Mock SQL ,用于测试数据库交互
- hoverfly star:1725 使用可扩展中间件和易于使用的CLI记录和模拟REST/SOAP api的HTTP(S)代理。
- gock star:1203 多功能、易用 HTTP mock
- httpmock star:1034 轻松模拟来自外部资源的HTTP响应。
- counterfeiter star:516 用于生成自包含 mock 对象的工具
- go-txdb star:352 基于单事务的数据库驱动,主要用于测试目的
- minimock star:346 Go接口的模拟生成器。
- govcr star:95 HTTP mock : 离线测试时记录和重放浏览器的动作
- timex star:53 一个测试友好的本地“时间”包的替代品。
- mockhttp star:22 Go http.ResponseWriter的模拟对象。
- go-localstack star:9 用于在AWS测试中使用localstack的工具。
- mockit star:5 允许函数和方法容易被模拟,而不需要定义新的类型;它类似于Java的Mockito。
-
Fuzzing and delta-debugging/reducing/shrinking.
-
Selenium and browser control tools.
- chromedp star:6102 用于驱动和测试 Chrome, Safari, Edge, Android Webviews, 以及其他支持 Chrome 调试协议的产品
- selenoid star:1865 Selenium hub 服务器的替代品,在容器中启动浏览器
- rod star:1459 一个Devtools驱动程序,使web自动化和抓取更加容易。
- cdp star:536 用于Chrome调试协议的类型安全绑定,可与实现该协议的浏览器或其他调试目标一起使用。
- playwright-go star:298 浏览器自动化库控制铬,Firefox和WebKit与一个单一的API。
- ggr star:271 一个轻量级服务器,可以将 Selenium Wedriver 的请求路由或代理到多个 Selenium hubs
-
Fail injection
- failpoint star:575 为Golang实现failpoints。
文本处理
用于解析和操作文本的库。 (翻译出错了? 试试 英文版 吧~)
- Specific Formats
- colly star:13600 快速和优雅的 Scraping 框架。
- GoQuery star:10021 GoQuery 为 Go 语言带来了一组类似 jQuery 的语法和功能
- blackfriday star:4687 Markdown 解析器
- sh star:3660 Shell解析器和格式化工具。
- toml star:3445 TOML配置格式(带反射的编码器/解码器)。
- go-humanize star:2611 格式化程序,用于将时间、数字和内存大小转换为可读格式。
- bluemonday star:1831 HTML 清理工具
- gofeed star:1595 在Go中解析RSS和Atom feeds。
- inject star:1313 包注入提供了一个基于反射的注入器。
- go-toml star:973 使用带有查询支持和方便的cli工具的TOML格式库。
- commonregex star:735 一组用于Go的公共正则表达式。
- slug star:638 URL 友好的 slug 化工具,支持多种语言
- mxj star:462 将XML编码/解码为JSON或map[string]接口{};使用点符号路径和通配符提取值。替换x2j和j2x包。
- dataflowkit star:458 Web抓取框架将网站转换为结构化数据。
- gographviz star:420 解析Graphviz DOT语言。
- gommon/bytes 格式化二进制为字符串。
- go-runewidth star:347 函数获取字符或字符串的固定宽度。
- htmlquery star:346 用于HTML的XPath查询包,允许您通过XPath表达式从HTML文档中提取数据或求值。
- omniparser star:314 一个通用的ETL库,以流方式解析文本输入(CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc),并使用数据驱动模式将数据转换为JSON输出。
- gotext star:295 GNU gettext 工具
- goq star:193 声明式 HTML 编组,使用结构标签和 jQuery 语法 (使用 GoQuery).
- goribot star:192 一个简单的golang spider/抓取框架,构建一个三行蜘蛛。
- html-to-markdown star:160 将HTML转换成Markdown
- go-nmea star:144 用于Go语言的NMEA解析器库。
- sdp star:109 SDP:会话描述协议[RFC 4566]。
- go-zero-width star:93 用于Go的零宽度字符检测和删除。
- podcast star:91 在Golang兼容iTunes和RSS 2.0播客生成器
- editorconfig-core-go star:84 Editorconfig文件解析器和Go操作器。
- align star:67 对文本进行对齐的通用应用程序。
- go-slugify star:65 生成漂亮的固定链接地址(slug),支持多种语言
- genex star:60 将正则表达式计数并展开为所有匹配的字符串。
- github_flavored_markdown GitHub 风格的 Markdown 渲染器 (使用 blackfriday) ,支持代码块高亮以及可点击的锚点
- go-vcard star:55 解析和格式化vCard。
- goregen star:54 根据正则表达式生成随机字符串
- go-fixedwidth star:53 固定宽度的文本格式(带反射的编码器/解码器)。
- guesslanguage star:51 通过一个 unicode 文本来猜测该文本使用的语言
- did star:49 DID(分散标识符)解析器和Stringer。
- allot star:48 用于CLI工具和机器人的占位符和通配符文本解析。
- gonameparts star:33 将人名解析为单独的名称部分。
- pagser star:30 Pagser是一个简单的,可扩展的,可配置的解析和反序列化的html页面结构,基于goquery和结构标签的golang爬虫。
- Slugify star:27 字符串 slug 化的工具。
- codetree star:17 解析缩进代码(python、pixy、scarlet等)并返回树结构。
- enca star:11 libenca的最小cgo绑定。
- syndfeed star:7 Atom 1.0和RSS 2.0的联合提要。
- bbConvert star:6 将bbCode转换为HTML,使您可以添加对自定义bbCode标记的支持。
- doi star:6 文档对象标识符(doi)解析器。
- ltsv star:5 高性能LTSV(Labeled Tab Separated Value)。
- encdec star:3 软件包为编码器和解码器提供了通用接口。
- Utility
- xurls star:769 从文本中提取url。
- gotabulate star:261 使用 Go 语言简单、美观的打印表格数据
- radix star:170 快速字符串排序算法。
- regroup star:79 使用结构标记和自动解析将正则表达式命名组匹配到go结构中。
- parth star:40 URL路径分割解析。
- gofuckyourself star:31 一个基于 sanitization 的 Go 敏感词过滤器。
- xj2go star:20 将xml或json转换为struct。
- kace star:16 通用大小写转换工具
- Tagify star:15 从给定源生成一组标记。
- TySug star:9 关于键盘布局的其他建议。
- parseargs-go star:8 字符串参数解析器,能够理解引用及反斜杠。
- textwrap star:2 从Python实现“textwrap”模块。
第三方api
用于访问第三方api的库。 (翻译出错了? 试试 英文版 吧~)
- github star:7341 访问GitHub REST API v3的库。
- aws-sdk-go star:6855 AWS 提供的官方go语言 SDK
- slack star:3459 Slack API。
- google star:2616 为Go自动生成谷歌api。
- google-cloud star:2513 谷歌云api Go 客户端库。
- discordgo star:1934 Discord Chat API的客户端。
- stripe star:1337 Stripe API 的 Go 语言客户端
- minio-go star:1252 用于Amazon S3兼容云存储的Minio Go库。
- go-twitter star:1191 Twitter v1.1 api 的客户端.
- anaconda star:1084 Twitter 1.1 API 的 go 语言客户端
- facebook star:957 支持 Facebook Graph API 的库
- go-jira star:879 Go Atlassian JIRA的客户端库
- githubql star:766 访问GitHub GraphQL API v4的库。
- webhooks star:604 GitHub 和 Bitbucket 的Webhook接收器。
- paypal star:412 PayPal支付API的包装器。
- geo-golang star:397 Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs.
- ethrpc star:200 Ethereum JSON RPC API的客户端。
- go-marathon star:196 用于和 Mesosphere's Marathon PAAS 交互的 Go 语言库
- Trello star:164 Trello API的 Go 语言封装。
- Medium star:131 Medium的OAuth2 API 客户端。
- gostorm star:127 GoStorm是一个Go库,它实现了编写Storm spout和bolt所需的通信协议,这些协议用于与Storm shell通信。
- hipchat (xmpp) star:112 一个用于通过XMPP与HipChat通信的golang包。
- go-trending star:111 在Github上访问trends repository和developers的库。
- hipchat star:105 这个项目为Hipchat API实现了一个golang客户端库。
- wit-go star:103 wit.ai HTTP API 客户端。
- twitter-scraper star:97 刮Twitter前端API没有认证和限制。
- pushover star:92 Go 包装的 Pushover API。
- cachet star:86 使用客户端库Cachet(开源状态页系统)。
- igdb star:65 Internet Game Database API 客户端。
- gosip star:58 去客户端库SharePoint API。
- circleci star:57 CircleCI的API的客户端
- clarifai star:57 Clarifai API的客户端。
- megos star:55 用于访问Apache Mesos集群的客户端库。
- simples3 star:53 使用REST和用Go编写的V4签名的AWS S3库非常简单。
- gogtrends star:51 非官方的Google Trends API。
- gads star:49 Google Adwords 非官方 API
- amazon-product-advertising-api star:48 Amazon Product Advertising API的客户端库。
- go-unsplash star:48 使用Unsplash.com API的客户端库。
- ynab star:46 YNAB API 的 Go 语言封装。
- go-xkcd star:44 xkcd API 的客户端。
- uptimerobot star:44 运行时Robot v2 API 的 Go 语言封装和命令行客户端。
- GoMusicBrainz star:42 Go MusicBrainz WS2客户端库。
- fcm star:40 Firebase Cloud Messaging 的 Go 语言库
- golang-tmdb star:39 电影数据库API v3的Golang包装器。
- mixpanel star:37 Mixpanel是一个库,用于跟踪事件并将Mixpanel概要文件更新从go应用程序发送到Mixpanel。
- golyrics star:36 Golyrics是一个从Wikia网站获取音乐歌词数据的Go库。
- spotify star:35 用于接入 Spotify WEB API 的 Go 语言库
- translate star:31 Go 在线翻译包。
- gami star:29 Asterisk Manager Interface 的 Go 语言库
- gcm star:29 Google Cloud Messaging 库
- patreon-go star:25 Go Patreon API库。
- airtable star:23 去客户端库Airtable API。
- steam star:23 用于与Steam服务器进行交互的库。
- shopify star:22 一个用于通过 Shopify API 进行增删改查的 Go 语言库。
- go-imgur star:21 Go imgur的客户端库
- go-myanimelist star:20 去访问[MyAnimeList API]的客户端库(https://myanimelist.net/apiconfig/references/api/v2)。
- go-twitch star:20 Twitch v3 API 的客户端。
- lastpass-go star:19 使用LastPass API的客户端库。
- go-postman-collection star:18 去模块工作与邮递员收集(兼容失眠)。
- brewerydb star:17 用于访问 BreweryDB API的 Go 语言库
- textbelt star:17 textbelt.com txt messaging API 的go语言客户端。
- codeship-go star:16 Codeship API v2的客户端。
- coinpaprika-go star:12 Coinpaprika API的客户端。
- go-hacknews star:12 HackerNews API的小型Go客户端。
- google-analytics star:12 简单的包装,方便的谷歌分析报告。
- go-aws-news star:11 去应用程序和库获取AWS的新内容。
- google-play-scraper star:11 从谷歌播放存储获取数据。
- smite star:10 对 Smite game API 的封装。
- device-check-go star:9 Go客户端库与iOS DeviceCheck API v1交互。
- go-here star:8 转到基于这里位置的api的客户端库。
- go-sophos star:8 无任何依赖的Sophos UTM REST API客户端
- gomalshare star:8 Go library MalShare API malshare.com
- gopaapi5 star:8 Go客户端库亚马逊产品广告API 5.0。
- rrdaclient star:8 用于接入 statdns.com API 的库——RRDA API。通过HTTP协议进行 DNS查询。
- google-email-audit-api star:7 谷歌G Suite Email Audit API 的客户端。
- go-sptrans star:6 SPTrans Olho Vivo API 的客户端。
- go-telegraph Telegraph 发布平台 API 客户端。
- tumblr star:6 Tumblr v2 API 的 Go 语言封装。
- zooz star:6 Zooz API 的 Go 语言客户端。
- go-openproject star:5 去与OpenProject API交互的客户端库。
- go-chronos star:4 用于与Chronos作业调度程序进行交互的Go库
- libgoffi star:3 库适配器工具箱,用于本地libffi集成
- appstore-sdk-go star:2 非官方的用于AppStore Connect API的Golang SDK。
- kanka star:2 Kanka API的Go客户端。
- rawg-sdk-go star:2 去RAWG视频游戏数据库 API库
- playlyfe star:1 Playlyfe Rest API Go SDK。
- TripAdvisor star:1 TripAdvisor API 的 Go 语言封装。
- vl-go star:1 使用客户端库中的VerifID身份验证层API。
公用事业公司
可以让你的生活变得更简单的实用工具.。 (翻译出错了? 试试 英文版 吧~)
- fzf star:36018 用Go编写的命令行模糊查找器。
- hub star:20879 封装了 git 命令,提供了额外的功能用于在终端中和 Github 进行交互。
- ctop star:11356 Top-like接口(例如htop), 用于容器数据收集。
- sqlx star:10050 为内建的数据库/sql 软件包提供一组扩展。
- wuzz star:9563 用于HTTP检查的交互式cli工具。
- goreleaser star:7857 尽可能快速的发布 Go 语言二进制文件。
- peco star:6261 简单的交互过滤工具。
- usql star:6178 usql 是一个通用的命令行接口,用于操作 sql 数据库。
- godropbox star:3935 用于编写 Go 语言服务/应用的库,来自 Dropbox.。
- hystrix-go star:3117 实现 Hystrix 风格的、程序员预定义的 fallback 机制(熔断。
- goreporter star:2843 进行代码静态分析,单元测试,代码检视并生成代码质量报告的工具
- minify star:2626 用于HTML、CSS、JS、XML、JSON和SVG文件格式的快速缩小器。
- panicparse star:2538 将类似的协程分组并对调用栈进行着色
- go-funk star:2462 现代 Go 语言工具库,提供了很多有用的工具 (map, find, contains, filter, chunk, reverse, ...)
- mc star:1771 Minio Client 提供了一组工具,用于操作 Amazon S3 兼容云存储和文件系统。
- Storm star:1701 一个简单又强大的用于 BoltDB 的工具
- mergo star:1471 用于将结构体和map合并进 Go 语言的工具。对于配置默认值,避免杂乱的if语句很有帮助。
- mole star:1447 cli应用程序可以轻松创建ssh隧道。
- spinner star:1439 一个 Go 语言软件包,提供多种选项,方便在终端中创建加载动画。
- filetype star:1287 通过数字签名来推测文件类型。
- boilr star:1282 非常快的CLI工具,用于从样板模板创建项目。
- jump star:1040 通过学习你的习惯,可以帮助你更快地导航。
- circuitbreaker star:936 接通断路器。
- git-time-metric star:862 git-time-metric - 。
- immortal star:703 *nix 跨平台 (与操作系统无关的)监控程序。
- hostctl star:647 一个使用简单命令管理/etc/主机的CLI工具。
- circuit star:549 一个高效和功能齐全的 类似 Hystrix Go 实现断路器模式。
- htcat star:527 并行及流水线的 HTTP GET 工具。
- godaemon star:469 用于编写守护进程的工具
- mimetype star:466 用于基于神奇数字的MIME类型检测的包。
- go-dry star:461 DRY(don't repeat yourself)库。
- ergo star:455 管理运行在不同端口上的多个本地服务变得很容易。
- koazee star:448 库的灵感来自于延迟计算和函数式编程,从而减少了使用数组的麻烦。
- gopencils star:437 小而简单的包,可以轻松地使用REST api。
- request star:396 Go 语言版的 HTTP Requests for Humans™.。
- Deepcopier star:337 结构体拷贝
- gubrak star:334 带有语法糖的Golang实用工具,就像lodash。
- go-rate star:329 Go 限速器。
- create-go-app star:327 一个强大的CLI,用于通过运行一个命令创建一个后端服务(Golang),前端(JavaScript, TypeScript)和部署自动化(Ansible, Docker)的可生产项目。
- clockwork star:325 一个简单的假 clock 。
- delve star:308 Go 语言调试器
- retry star:299 基于上下文的功能机制,反复执行命令直到成功。
- gohper star:253 多种能够帮助你进行软件开发的工具和模块。
- scany star:241 库扫描数据从数据库到Go structs和更多。
- serve star:241 任何您需要的静态http服务器。
- go-trigger star:212 Go 语言全局事件触发器,通过 id 和触发器,在程序的任何地方注册事件。
- util star:201 有用实用函数的集合。(字符串,并发,操作,…)
- gotenv star:195 从
.env
或者任何io.Reader
。 - Death star:171 利用信号管理应用程序的关闭。
- go-bind-plugin star:168 Go:generate 工具,用于构建 Go 语言插件(1.8 only),并对导出的符号进行包装。
- rerun star:161 当源代码发生更改时,重新编译和重新运行go应用程序。
- moldova star:159 基于输入目标生成随机数据的工具
- toolbox star:158 切片, map, multimap, 结构体, 函数,数据转换工具。服务路由,宏求值和标记器。
- go-sitemap-generator star:156 用Go编写的XML站点地图生成器。
- apm star:150 Go 语言进程管理工具具有HTTP API.。
- robustly star:148 有弹性的执行函数,遇到错误时捕获并重新运行。
- chyle star:137 使用具有多种配置可能性的git存储库生成变更日志。
- onecache star:117 支持多个后端存储(Redis、Memcached、文件系统等)的缓存库。
- lrserver star:115 LiveReload 服务器。
- go-bsdiff star:111 纯Go bsdiff和bspatch库和CLI工具。
- countries star:86 完整实现ISO-3166-1、ISO-4217、ITU-T E.164、Unicode CLDR和IANA ccTLD标准。
- mssqlx star:85 数据库客户端,用于主-从 (或主-主) 数据库,集成了简单的、轻量级的轮询调度负载均衡。
- xferspdy star:85 Xferspdy在golang中提供二进制diff和补丁库。
- nostromo star:84 CLI用于构建强大的别名。
- goseaweedfs star:82 conseilSeaweedFS 客户端,几乎具有全部的特性。
- pm star:78 进程(即goroutine)管理器与HTTP API。
- go-health star:76 健康包简化了向服务中添加健康检查的方式。
- pattern-match star:75 模式匹配图书馆。
- repeat star:75 执行不同的后 backoff 策略,这对重新尝试操作和心跳非常有用。
- sorty star:74 快速并发/并行排序。
- netbug star:68 远程对你的服务进行性能分析
- scan star:68 扫描golang的sql。行直接指向结构、片或基本类型。
- UNIS star:67 Go 语言字符串处理函数的通用架构 。
- handy star:65 许多实用程序和帮助程序,如字符串处理程序/格式化程序和验证器。
- multitick star:65 用于 aligned tickers 的多路复用
- mimemagic star:59 纯粹 Go 超性能MIME嗅探库/实用程序。
- minquery star:58 MongoDB / mgo.v2, 支持高效分页查询(用于继续列出我们停止的文档的游标)。
- mongo-go-pagination star:58 用于官方Mongodb /mongo-go驱动程序包的Mongodb分页,它支持正常的查询和聚合管道。
- cmd star:57 用于在osx、windows和linux上执行shell命令的库。
- go-astitodo star:57 解析你 Go 语言代码中的 TODOs(待办事项)。
- goreadability star:57 网页摘要提取器使用Facebook开放图形和arc90的可读性。
- golog star:51 简单、轻量级的命令后工具,用于对你的计划任务进行跟踪。
- pgo star:51 用于PHP社区的 Convenient 函数。
- copy-pasta star:48 通用多工作站剪切板,使用类似 S3 的后端作为存储。
- retry star:47 简单易用的重试机制包,为 Go 。
- goback star:44 一个 Go 语言的简单的指数补偿包。
- goval star:44 在Go中计算任意表达式。
- filter star:43 提供Go数据的过滤、清理和转换。
- golarm star:43 告警(支持系统事件)。
- beyond star:42 Go工具将带你进入AOP的世界!
- intrinsic star:42 不需要编写任何汇编代码就能使用 x86 SIMD。
- changie star:41 自动化的变更日志工具,用于准备带有大量定制选项的版本。
- dbt star:41 用于从中心可信存储库运行自更新签名二进制文件的框架。
- gpath star:40 用于简化结构体域访问的库。
- retry-go star:40 对 Go 来说,重试变得简单而容易。
- slice star:40 用于普通Go切片操作的类型安全函数。
- go-lock star:37 go-lock是一个锁库,它实现了读写互斥锁和读写尝试锁,而不需要等待。
- go-httpheader star:34 用于将结构体编码进 http 头的 Go 语言库
- myhttp star:33 简单的API,使HTTP GET请求与超时支持。
- rclient star:32 可读、灵活、易于使用的REST api客户端。
- evaluator star:31 基于 s-expression。它很简单,很容易扩展。
- equalizer star:30 用Go实现的限流工具
- gostrutils star:30 字符串操作和转换函数的集合。
- limiters star:28 Golang中的分布式应用程序速率限制器,具有可配置的后端和分布式锁。
- tome star:28 Tome设计用于对简单的RESTful api进行分页。
- generate star:24 针对一个路径或环境变量,递归的执行 Go generate,可以通过正则表达式来进行过滤。
- ugo star:24 uGo 是一个切片工具箱,有着和 Go 语言一致的语法法。
- slicer star:23 使处理切片更容易。
- goplaceholder star:22 一个小巧的 Go 语言库用于生成占位图片。
- rerate star:19 基于 Redis 的速率计数器和限速器
- ghokin star:17 没有外部依赖的gherkin (cucumber, behat…)并行格式化程序。
- structs star:17 简单来讲就是 "Make" 的替代品。
- ctxutil star:16 上下文工具。
- dlog star:16 编译时控制的日志,让你的 release 包变得更小而不需移除 debug 调用。
- filler star:16 使用“fill”标签填充结构的小工具。
- shutdown star:16 ' os的应用程序关闭挂钩。信号的处理。
- backscanner star:15 类似 bufio 的扫描器,但它以相反的顺序读取和返回行,从给定的位置开始,然后返回。
- mimesniffer star:15 一个用于Go的MIME类型嗅探器。
- okrun star:15 Go 运行错误 steamroller。
- command star:13 命令模式,支持线程安全的串行、并行调度。
- jsend star:13 在Go中编写JSend的实现。
- rest-go star:13 一个包,它为使用rest api提供了许多有用的方法。
- go-convert star:11 Package go-convert允许您将一个值转换成另一种类型。
- retry star:11 一个相当简单的库,以确保您的工作可以完成。
- go-countries star:9 对ISO-3166代码的轻量级查找。
- silk star:9 阅读silk netflow文件。
- go-problemdetails star:8 打包处理问题细节。
- go-clip star:7 Mac的一个极简的剪贴板管理器。
- nfdump star:7 读取nfdump netflow文件。
- ptr star:7 提供函数的包,用于从基本类型的常量简化指针的创建。
- retry star:7 一个简单但高度可配置的Go重试包。
- statiks star:7 快速,零配置,静态HTTP文件服务器。
- blank star:6 验证或删除字符串中的空白。
- sliceconv star:6 基本类型之间的片转换。
- copy star:5 包快速复制不同类型的struct。
- go-safe star:3 Panic-safe沙箱。
- lets-go star:3 Go模块,为云本地REST API开发提供公共工具。还包含AWS特定的实用程序。
- goctx star:2 获得高性能的上下文值。
- olaf star:2 Twitter Snowflake 在Go中实现。
- tik star:2 简单和容易的时间轮包去。
- bleep star:1 在Go中对任意一组OS信号执行任意数量的操作。
UUID
用于处理uuid的库。 (翻译出错了? 试试 英文版 吧~)
- uuid star:2564 基于RFC 4122和DCE 1.1的uuid包:身份验证和安全服务。
- ulid star:2210 实现了ULID(普遍唯一的词典分类标识符)。
- uniq 没有麻烦,安全,快速的唯一标识符与命令。
- uuid star:901 通用唯一标识符(UUID)的实现。支持uuid的创建和解析。积极维护satori uuid的fork。
- wuid star:408 一个非常快的唯一数字生成器,比UUID快10-135倍。
- sno star:44 使用嵌入元数据的紧凑、可排序和快速的惟一id。
- goid star:30 生成和解析RFC4122兼容的V4 uuid。
- nanoid star:30 一个小而有效的Go唯一字符串ID生成器。
- uuid star:12 使用快速或加密质量的随机节点标识符生成、编码和解码UUIDs v1。
- gouid star:7 生成加密安全的随机字符串id,只有一个分配。
验证
库进行验证。 (翻译出错了? 试试 英文版 吧~)
- validator star:7464 Go 结构体及域验证,包括:跨域、跨结构体, Map, 切片和数组。
- govalidator star:4692 用于字符串,数字,切片和结构的验证器和sanitizers。
- ozzo-validation star:2007 支持各种数据类型(结构、字符串、映射、片等)的验证,使用可配置和可扩展的验证规则,这些规则在通常的代码构造中指定,而不是在结构标签中指定。
- govalidator star:976 用简单的规则验证Golang请求数据。深受Laravel请求验证的启发。
- validate star:386 Go 封装数据验证和过滤。支持验证映射、结构、请求(表单、JSON、url)。值,上载文件)数据和更多特性。
- checkdigit star:77 提供校验数字算法(Luhn, Verhoeff, Damm)和计算器(ISBN, EAN, JAN, UPC等)。
- validate star:59 这个包提供了一个框架,用于为Go应用程序编写验证。
- jio star:55 jio是一个json模式验证器,类似于joi。
- gody star:49 :一个轻量级的结构验证器。
- terraform-validator star:46 一种规范和约定验证器。
- govalid star:22 快速、基于标签的结构验证。
版本控制
用于版本控制的库。 (翻译出错了? 试试 英文版 吧~)
- go-git star:2171 纯Go中高度可扩展的Git实现。
- git2go star:1613 libgit2 的 Go 语言接口。
- hercules star:1298 从Git存储库历史中获得高级见解。
- gh star:75 用于GitHub webhook的可编写脚本的服务器和net/http中间件。
- go-vcs star:75 在Go中操作和检查VCS存储库。
- hgo star:13 Hgo是一组Go包的集合,提供对本地Mercurial存储库的读取访问。
视频
用于操作视频的库。 (翻译出错了? 试试 英文版 吧~)
- goav star:1579 FFmpeg的全面Go绑定。
- m3u8 star:808 苹果HLS的M3U8播放列表解析器和生成器库。
- gmf star:669 FFmpeg av* 库的 Go 语言接口。
- go-astits star:354 在GO中解析和演示MPEG传输流(.ts)。
- go-astisub star:307 使用 Go 语言操作字幕(.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.)。
- libvlc-go star:197 Go绑定libvlc 2.X/3.X/4。X(由VLC媒体播放器使用)。
- gst star:160 GStreamer的Go工具。
- go-m3u8 star:73 苹果m3u8播放列表的解析器和生成器库。
- v4l star:54 用于Linux的视频捕捉库,用Go编写。
- libgosubs star:13 字幕格式支持 .srt、.ttml和.ass。
- go-mpd star:8 MPEG-DASH清单文件的解析器和生成器库。
Web框架
全栈 web 框架。 (翻译出错了? 试试 英文版 吧~)
- Gin star:47137 Gin是一个用Go编写的web框架!它具有一个类似于martini的API,性能更好,速度快40倍。
- Echo star:19583 高性能、极简的Go web框架。
- Fiber star:12772 一个灵感来自Express.js的web框架构建在Fasthttp上。
- Revel star:12219 用于Go语言的高效web框架。
- Goa star:4198 Goa为在Go中开发远程api和微服务提供了一种全面的方法。
- go-json-rest star:3469 设置RESTful JSON API的快速简便方法。
- Gizmo star:3385 《纽约时报》使用的微服务工具包。
- Macaron star:3144 Macaron 是一个高效的模块化设计的web框架
- utron star:2187 Go(Golang)的轻量级MVC框架。
- tigertonic star:1001 用于构建 JSON web 服务的 Go 语言框架,受到 Dropwizard 的启发。
- tango star:835 微型的、支持插件的 web 框架。
- Goyave star:823 功能完备的REST API框架,旨在干净的代码和快速的开发,具有强大的内置功能。
- Gearbox star:485 一个用Go编写的web框架,专注于高性能和内存优化。
- gongular star:440 快速 Go web 框架,支持输入映射/验证以及依赖注入。
- neo star:411 Neo是一个非常简单且快速的Web框架API。
- Air star:404 一个理想的精细化的Go web框架。
- Aero star:358 高性能的Go web框架,在Lighthouse中达到最高分。
- mango star:352 ManGo 是一个模块化 web 应用框架,受到 Rack 和 PEP333 的启发。
- Gondola star:310 web框架写的网站越快越好。
- Golf star:248 Golf 是一个快速、简单、轻量级的 Go 语言微型 web 框架。具有强大的功能且没有标准库以外的依赖。
- Flamingo star:202 可插拔web项目的框架。包括模块的概念和提供DI、Configareas、i18n、模板引擎、graphql、可观察性、安全性、事件、路由和反向路由等功能。
- WebGo star:164 构建web应用程序的微框架;处理程序链接、中间件和上下文注入。与标准库兼容的HTTP处理程序(即http.HandlerFunc)。
- Ginrpc star:159 Gin参数自动绑定工具,Gin rpc工具。
- Flamingo Commerce star:154 提供使用干净的体系结构(如DDD和端口和适配器)的电子商务功能,您可以使用这些功能来构建灵活的电子商务应用程序。
- hiboot star:150 hiboot是一个高性能的web应用程序框架,支持自动配置和依赖注入。
- uAdmin star:130 受到 Sinatra 启发的 Go 语言 web 框架。
- go-rest star:125 小型的 REST 框架。
- Beego star:120 beego是一种用于 Go 编程语言的开源高性能web框架。
- Buffalo 为 Go 语言带来堪比 Rails 的高生产效率!
- Confetti Framework Confetti是一个具有表现力和优雅语法的Go web应用程序框架。五彩纸屑结合了Laravel的优雅和围棋的简单。
- appy star:84 一个固执己见的高效web框架,有助于更容易地扩展业务。
- vox star:74 一个面向人类的golang web框架,深受Koa的启发。
- Golax star:73 一个非Sinatra快速HTTP框架,支持谷歌自定义方法、深度拦截器、递归等。
- Microservice star:73 创建微服务的框架,用Golang编写。
- patron star:71 Patron是一个遵循最佳云实践的微服务框架,专注于提升开发效率。
- YARF star:62 快速微框架,旨在以快速和简单的方式构建REST api和web服务。
- rux star:60 简单而快速的web框架,可用于构建golang HTTP应用程序
- Fireball star:56 感觉更加自然的 web 框架。
- aah 可伸缩、高性能、快速开发的Go Web框架。
- goa star:45 goa就像golang中的koajs一样,是一个灵活、轻量级、高性能和可扩展的基于中间件的web框架。
- Resoursea star:31 用于快速编写基于资源的服务的REST框架。
- REST Layer 框架,用于在数据库之上构建REST/GraphQL API,主要是通过代码进行配置。
- rex star:31 Rex 是一个用于进行模块化开发的库,基于Gorilla/mux 完全兼容大多数的 net/HTTP.
- goweb star:24 具有路由、websockets、日志、中间件、静态文件服务器(可选gzip)和自动TLS的Web框架。
- Banjo star:17 非常简单和快速的网络框架 Go 。
中间件
仿真中间件
- Tollbooth star:1916 限制速率的 HTTP 请求处理程序。
- CORS star:1806 轻松地向API添加CORS功能。
- Limiter star:1250 简单的速度限制中间件。
- go-server-timing star:811 添加/解析Server-Timing头。
- go-fault star:390 Go的故障注入中间件。
- ln-paywall star:110 使用Lightning Network(比特币)实现基于每个请求的api货币化中间件。
- XFF star:78 处理 X-Forwarded-For 头的中间件。
- formjson star:36 透明地将JSON输入作为标准表单POST处理。
- client-timing star:18 用于服务器定时报头的HTTP客户机。
用于创建HTTP中间件的库
- negroni star:6959 符合语言习惯的 HTTP 中间件库。
- alice star:2239 用于连接中间件的库,简单无痛苦。
- render star:1418 Go package用于方便地呈现JSON、XML和HTML模板响应。
- stats star:579 使用中间件来存储关于web应用程序的各种信息。
- interpose star:292 golang的极简网络/http中间件。
- renderer star:220 简单、轻量级和更快的响应(JSON、JSONP、XML、YAML、HTML、文件)。
- muxchain star:209 用于net/http的轻量级中间件。
- rye star:95 支持JWT、CORS、Statsd和Go 1.7上下文的小型Go中间件库(带有罐装中间件)。
- gores star:93 处理HTML、JSON、XML等响应的Go包。对于RESTful api非常有用。
- mediary star:71 在http中添加拦截器。客户端允许转储/成型/跟踪/…的请求/响应。
- chain star:63 带有范围数据的处理程序包装器链接(基于网络/上下文的“中间件”)。
- go-wrap star:59 net/http的小型中间件包。
- catena star:7 HTTP.Handler wrapper catenation (和chain具有相同的 API ).。
路由器
- mux star:14138 强大的URL路由器和调度器为golang。
- httprouter star:12575 高性能路由。使用这个库和标准http处理工具可以构建一个非常高性能大web框架。
- chi star:9210 小巧、快速、具有丰富表达力的 HTTP 路由,基于net/context.。
- gocraft/web star:1441 Mux和中间件包在Go中。
- Bone star:1272 闪电快速HTTP多路复用器。
- fasthttprouter star:873 高性能路由器分叉从
httprouter
。第一个路由器适合fasthttp
。 - Goji star:857 枸杞是一种简约的和灵活的与支持'net/context` HTTP请求多路复用器。
- xujiajun/gorouter star:495 一个简单和快速的HTTP路由器 Go 。
- httptreemux star:489 高速,灵活,基于树的 HTTP 路由。受到了 httprouter 的启发。
- ozzo-routing star:403 一个非常快的Go (golang) HTTP路由器,支持正则表达式路由匹配。完全支持构建RESTful api。
- lars star:382 是一个轻量级、快速、可扩展、零分配的HTTP路由,用于创建定制化的框架。
- Siesta star:350 编写中间件和处理程序的可组合框架。
- vestigo star:264 高性能,独立,HTTP兼容的URL路由器的go web应用程序。
- gowww/router star:159 超快的HTTP 路由,完全兼容 net/HTTP.Handler 接口.。
- alien star:116 轻量级和快速http路由器从外层空间。
- pure star:114 是一个轻量级HTTP路由器,它坚持net/ HTTP“实现”的std。
- Bxog star:101 简单和快速的HTTP路由器 Go 。它可以处理不同难度、长度和嵌套的路径。他还知道如何根据接收到的参数创建URL。
- violetear star:100 HTTP路由器。
- GoRouter star:91 GoRouter 是一个服务器/API 微型框架、HTTP 请求路由 router, 数据分选器,提供了支持net/context的中间件。
- xmux star:89 高性能mux基于httprouter 'net/context`支持。
- bellt star:48 一个简单的Go HTTP路由器。
- FastRouter star:19 一个快速,灵活的HTTP路由器写在Go。
- goroute star:7 简单但功能强大的HTTP请求多路复用器。
WebAssembly
- tinygo star:7811 去编译小地方。微控制器、网络组装和命令行工具。基于LLVM。
- dom star:427 DOM库。
- go-canvas star:124 库使用HTML5画布,与所有绘画内的go代码。
- wasmbrowsertest star:80 在浏览器中运行Go WASM测试。
- webapi star:78 从WebIDL生成的DOM和HTML的绑定。
- vert star:46 Go和JS值之间的互操作。
Windows
- go-ole star:728 为 Go 语言实现的 Win32 OLE。
- d3d9 star:114 Direct3D9 的 Go 语言接口。
- gosddl star:5 从SDDL-string到用户友好的JSON的转换器。SDDL由四个部分组成:所有者、主群、DACL、SACL。
XML
用于操作XML的库和工具。 (翻译出错了? 试试 英文版 吧~)
- zek star:459 从XML生成Go结构。
- xpath star:381 Go的XPath包。
- xquery star:155 XQuery允许您使用XPath表达式从HTML/XML文档中提取数据。
- xml2map star:30 XML来映射转换器编写的Golang。
- xmlwriter star:19 基于libxml2的xmlwriter模块的过程性XML生成API。
- XML-Comp star:15 简单的命令行XML比较器,生成文件夹、文件和标记的差异。
工具
- Go 软件和插件。 (翻译出错了? 试试 英文版 吧~)*
代码分析
- GoLint star:3856 Go 源码的 linter。
- Golint online Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
- errcheck star:1669 Errcheck是一个用于检查Go程序中未检查错误的程序。
- gcvis star:1007 实时可视化跟踪 GC 数据。
- go-critic star:893 源代码检查工具。
- php-parser star:795 用 Go 编写的 PHP 解析器。
- staticcheck 用于大量静态分析检查,您可能已经从 c# 的 ReSharper 等工具中习惯了这些检查。
- goast-viewer star:500 基于 Web 的 Golang AST 可视化工具。
- GoCover.io GoCover.io 提供了任意 golang 包的代码覆盖率服务。
- goimports 来修复(添加,删除) Go 中自动导入的工具。
- go-mod-outdated star:485 找出项目中过期的依赖项。
- go-cleanarch star:442 go-cleanarch 的创建是为了验证 Clean 体系结构规则,比如 Go 项目中的依赖关系。
- GoPlantUML star:373 生成文本plantump类图的库和CLI,其中包含关于结构和接口的信息,以及它们之间的关系。
- goreturns 添加 zero 返回声明,以匹配 func 返回类型。
- gosimple gosimple 是 Go 源代码的linter,专门用于简化代码。
- unconvert star:307 在源码中删除不必要的类型转换。
- unused 对未使用的常量、变量、函数和类型的代码进行检查。
- tickgit star:248 CLI和go包用于显示代码注释TODOs(以任何语言)并应用“git blame”来识别作者。
- gostatus star:244 用于显示包含 Go 包的存储库的状态的命令行工具,。
- dupl star:231 用于代码克隆检测的工具。
- apicompat star:172 检查 Go 项目最近的向下不兼容修改。
- golines star:147 格式化程序,它自动缩短Go代码中的长行。
- go-checkstyle star:112 checkstyle是一个类似于java checkstyle的检查工具。
- lint star:66 将 linters 作为测试的一部分。
- validate star:60 使用 tags 自动验证结构体字段。
- go-outdated star:45 显示过期包的终端应用。
- tarp star:14 在源码中寻找没有直接单元测试的函数和方法。
编辑器插件
- vim-go star:13290 Go 开发会用到的 Vim 插件。
- gocode star:4918 Autocompletion daemon for the Go programming language.
- GoSublime star:3398 包含了可为文本编辑器 SublimeText 3 提供代码自动填充和其他类似IDE的功能的 Golang IDE 插件集合。
- vscode-go star:1635 Visual Studio代码的扩展(VS代码),它提供了对Go语言的支持。
- go-plus star:1515 在 Atom 中添加自动完成,格式化,语法检查,高亮和审查。
- go-mode star:1157 在 GNU/Emacs 支持 GO。
- Watch star:184 Runs a command in an acme win on file changes.
- vim-compiler-go star:88 在保存时突出显示语法错误的 Vim 插件。
- Go plugin for JetBrains IDEs JetBrains IDEs 的 Go 插件。
- goimports-reviser star:43 用于导入的格式化工具。
- goprofiling 在 VS Code 中支持 Go 的基准分析。
- go-language-server star:33 A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.
- gounit-vim star:20 基于函数或方法的签名生成Go测试的Vim插件。
- theia-go-extension star:15 在 Theia IDE中支持 Go。
Go 生成工具
- gotests star:3147 从源代码生成测试用例。
- genny star:1464 优雅的 Go 泛型。
- re2dfa star:182 将正则表达式转换为有限状态机,并输出 Go 源代码。
- TOML-to-Go 在浏览器中将 TOML 转换为 Go 类型。
- hasgo star:88 可生成用于切片的 Haskell。
- xgen star:81 XSD (XML模式定义)解析器和Go/C/Java/Rust/TypeScript代码生成器。
- gocontracts star:68 通过同步代码和文档来实现 design-by-contract 设计。
- gonerics Go中的易用的泛型。
- gounit star:50 使用您自己的模板生成Go测试用例。
- generic star:38 灵活的 Go 数据类型。
Go 工具
- go-swagger star:6289 基于 Go 的Swagger 2.0实现。
- OctoLinker star:4676 借助的 OctoLinker 浏览器扩展,可以高效的地浏览 GitHub go文件。
- go-callvis star:3178 使用 dot format 可视化 Go 程序的调用图。
- depth star:594 通过分析导入,将包依赖关系树可视化输出。
- richgo star:548 用文本装饰丰富 go test 的输出。
- rts star:207 从服务器响应生成Go结构。
- godbg star:173 实现了 Rusts 的 dbg! 宏,可以方便的在开发过程中快速、容易地调试。
- gomodrun 执行并缓存Go中包含的二进制文件的Go工具。国防部文件。
- typex star:128 检查Go类型及其传递依赖关系,或者将结果导出为TypeScript值对象(或类型)声明。
- colorgo star:108 将 go 命令包装成彩色的 go build 输出。
- gothanks star:98 GoThanks自动帮你开始。mod github依赖,以这种方式发送一些爱给他们的维护者。
- igo star:41 一个igo to go transpiler (go语言的新语言功能!)
- go-james star:39 去项目骨架创造者,建立和测试您的项目没有手动设置。
- go-pkg-complete star:38 Bash completion for go and wgo。
- generator-go-lang star:23 一个Yeoman生成器,用于启动新的 Go 项目。
- docs star:7 自动为GO项目生成RESTful API文档-与开放API规范标准一致。
软件包
用Go编写的软件。 (翻译出错了? 试试 英文版 吧~)
DevOps 工具
- kubernetes star:76099 来自谷歌的容器集群管理器。
- Moby star:59995 Collaborative project for the container ecosystem to assemble container-based systems.
- traefik star:33358 反向代理和负载均衡器,支持多个后端。
- Gitea star:24313 从 Gogs fork,完全由社区驱动。
- gitea-github-migrator 将所有GitHub repositories、issues、milestones 和 labels 都迁移到 Gitea。
- Vegeta star:17103 HTTP负载测试工具和库。超过9000 !
- Packer star:12740 用于从一个源配置为多个平台创建相同的机器图像。
- Hey star:10816 压力测试工具,可用来代替 ApacheBench (ab)。
- webhook star:6408 允许用户创建在服务器上执行命令的 HTTP hooks。
- Wide 为使用 Golang 的团队提供基于 web 的 IDE。
- GVM star:6167 GVM 提供了一个接口来管理 Go 版本。
- gaia star:4352 可用于任何编程语言来构建强大的管道。
- gox star:4003 非常简单,没有多余的跨平台编译工具。
- bosun star:3120 按照时间轴发出告警的框架。
- bombardier star:2571 快速跨平台 HTTP 基准测试工具。
- Pomerium star:2434 Pomerium是一个可识别身份的访问代理。
- script star:1746 让DevOps编写类shell和系统管理任务变得更加容易。
- fac star:1701 修复 git 合并冲突。
- goxc star:1664 专注于跨平台编译和打包的 Go 构建工具。
- kala star:1642 简单、现代和高性能的作业调度程序。
- StatusOK star:1483 监视您的网站和REST api。当服务器宕机或响应时间超过预期时,通过Slack、电子邮件获得通知。
- s3gof3r star:1090 小型实用程序/库,针对大型对象在Amazon S3中的高速传输进行了优化。
- go-selfupdate star:829 允许你的 Go应用程序 进行自我更新。
- skm star:671 SKM是一个简单而强大的SSH密钥管理器,它可以帮助您轻松地管理多个SSH密钥!
- Scaleway-cli star:660 从命令行管理 BareMetal 服务器(与使用Docker一样容易)。
- s5cmd star:641 非常快的S3和本地文件系统执行工具。
- aurora star:513 基于web的跨平台 Beanstalkd 队列服务器控制台。
- cassowary star:494 用Go编写的跨平台HTTP负载测试工具。
- govvv star:477 可轻松地添加版本信息到 Go 二进制文件。
- uTask star:392 对yaml中声明的业务流程进行建模和执行的自动化引擎。
- gonative star:328 用原生 Go 创建一个跨平台的 Go 工具链。
- trubka star:296 一个CLI工具,用于管理和故障排除Apache Kafka集群,具有通用发布/使用协议缓冲区和与Kafka之间的纯文本事件的能力。
- Mora star:283 用于访问 MongoDB 文档和元数据的 REST 服务器。
- lstags star:279 提供了工具和API,可用来同步不同注册中心的Docker图像。
- Pewpew star:272 灵活的 HTTP 命令行压测工具。
- jcli star:254 詹金斯CLI允许你管理你的詹金斯作为一个简单的方法。
- dogo star:237 监视源文件中的更改并自动编译和运行(restart)。
- manssh star:226 manssh是一个命令行工具,可以方便地管理ssh别名配置。
- godbg star:224 基于 web 的 gdb 前端应用程序。
- Gogs 自托管的Git服务。
- Blast star:197 一个用于API负载测试和批处理作业的简单工具。
- easyssh-proxy star:183 Golang package for easy remote execution through SSH and SCP downloading via
ProxyCommand
. - gobrew star:181 gobrew 允许您轻松地在 go 的多个版本之间切换。
- ostent star:171 收集和显示系统指标,并可选 Graphite and/or fluxdb作为依赖。
- abbreviate star:161 缩写是一种工具,可以将长字符串转换为具有可配置分隔符的短字符串,例如将分支名称嵌入到部署堆栈id中。
- grapes star:152 旨在轻松地通过ssh分发命令的轻量级工具。
- kcli star:148 用于检查kafka主题/分区/消息的命令行工具。
- terraform-provider-openapi star:138 Terraform provider plugin,它根据OpenAPI文档(以前称为swagger文件)在运行时动态配置自身,该文档包含了公开的api的定义。
- winrm-cli star:112 在Windows机器上远程执行命令的Cli工具。
- Dockerfile-Generator star:93 一个go库和一个可执行文件,它使用各种输入通道生成有效的Dockerfiles。
- drone-scp star:82 通过 SSH 进行文件拷贝。其中 SSH 通过二进制文件、docker 或 Drone CI触发。
- go-furnace star:80 用Go编写的托管解决方案,可轻松地在AWS、GCP或DigitalOcean上部署应用程序。
- Dropship star:54 通过 cdn 部署代码的工具。
- s3-proxy star:40 具有GET、PUT和DELETE方法和身份验证(OpenID连接和基本身份验证)的S3代理。
- Rodent star:31 管理Go版本、项目和跟踪依赖项。
- drone-jenkins star:30 使用二进制文件、docker或 Drone CI 来触发下游Jenkins作业。
- awsenv star:26 可以为 profile 加载Amazon (AWS)环境变量的轻量二进制文件。
- lwc star:24 UNIX wc命令的实时更新版本。
- DepCharge star:16 Helps orchestrating the execution of commands across the many dependencies in larger projects.
- docker-go-mingw star:16 使用MinGW工具链在Windows上构建Go二进制文件的Docker图像。
- httpref star:14 httpref是一个方便的CLI参考,用于HTTP方法、状态码、头以及TCP和UDP端口。
- sg star:6 可测试一组HTTP极限(如ab),可以在每个调用之间使用响应代码和数据,根据之前的响应来确定特定的服务器压力。
- aptly star:3 Debian存储库管理工具。
其他软件
- Gor star:14043 Http 流量复制工具,用于实时回放从生产环境到阶段/开发环境的流量。
- croc star:12652 轻松、安全地将文件或文件夹从一台计算机发送到另一台计算机。
- Docker 面向开发人员和系统管理员的分布式应用程序的开放平台。
- restic star:12467 消除重复项备份程序。
- Seaweed File System star:11770 快速、简单、可伸缩的分布式文件系统,采用了O(1)磁盘查找。
- confd star:7413 使用 etcd 或 consul 的模板和数据管理本地应用程序配置文件。
- Comcast star:6920 模拟坏的网络连接。
- LiteIDE star:6403 简单的、开源的、跨平台的Go IDE。
- drive star:5936 基于命令行的谷歌驱动器客户端。
- toxiproxy star:5370 为自动化测试模拟网络和系统条件的代理。
- tsuru Extensible and open source Platform as a Service software.
- nes star:4733 任天堂娱乐系统(NES)模拟器。
- Duplicacy star:3647 跨平台网络和云备份工具。
- myLG star:2455 命令行网络诊断工具。
- scc star:2339 一个非常快速准确的代码计数器,采用了复杂的计算和 COCOMO 预估。
- GoBoy star:2338 用 Go 编写的任天堂Game Boy彩色模拟器。
- Stack Up star:2242 Stack Up 是一个超级简单的部署工具 — 只面向Unix。
- syncthing 开放,分散的文件同步工具和协议。
- lgo star:2146 与 Jupyter 可进行交互 Go 程序。它支持代码完成、代码检查以及与Go 100% 兼容性。
- limetext 一个强大而优雅的文本编辑器。
- Circuit star:1886 Circuit 是一个可编程平台即服务(PaaS)和/或基础设施即服务(IaaS),用于管理、发现、同步和编排包含云应用程序的服务和主机。
- snap star:1795 强大的遥测框架。
- borg star:1506 基于终端的bash代码段搜索引擎。
- Documize star:1295 集成了SaaS工具数据的现代wiki软件。
- Go Package Store star:887 App that displays updates for the Go packages in your GOPATH.
- vFlow star:783 高性能、可伸缩和可靠的 IPFIX、sFlow和 Netflow 收集器。
- peg star:773 解析表达式语法,是Packrat解析器生成器的实现。
- shell2http star:732 通过http服务器执行shell命令(用于原型或远程控制)。
- Leaps star:697 使用操作转换的成对编程服务。
- gfile star:606 通过WebRTC在两台计算机之间安全地传输文件,不需要任何第三方依赖。
- blocky star:574 快速和轻量级的DNS代理作为广告拦截器,为本地网络具有许多功能。
- Gebug star:539 一个工具,通过启用调试器和热重新加载特性,使docker化的Go应用程序的调试非常容易,无缝。
- Guora star:527 一个用Go编写的类似Quora的自托管web应用程序。
- hugo 快速、现代的静态网站引擎。
- mockingjay star:483 一份配置文件中便可伪造HTTP服务器与用户之间的行为。您还可以使服务器随机宕机,以帮助进行更实际的性能测试。
- gocc star:470 Gocc是一个用Go编写的编译器工具包。
- go-peerflix star:425 视频流 torrent 客户端。
- ipe star:319 Open source Pusher server implementation compatible with Pusher client libraries written in GO.
- ide star:311 基于浏览器的IDE
- wellington star:295 Sass 项目管理工具,使用sprite函数(如Compass)扩展语言。
- Cherry star:238 微型网络聊天服务器。
- tcpprobe star:211 用于网络性能和路径监控的TCP工具,包括套接字统计信息。
- woke star:195 检测源代码中不包含的语言。
- joincap star:161 用于合并多个pcap文件的命令行实用程序。
- Juju Cloud-agnostic的服务部署和编制 —— 支持EC2、Azure、Openstack、MAAS等。
- Orbit star:148 一个根据模板来运行命令和生成文件的简单小工具。
- tcpdog star:125 基于eBPF的TCP可观测性。
- Better Go Playground 使用语法高亮显示、代码完成和其他功能。
- vaku star:107 用于库中基于文件夹的函数(如复制、移动和搜索)的CLI和API。
- dp star:81 通过SDK与区块链进行数据交换,开发人员可以轻松访问DAPP开发。
- boxed star:74 基于Dropbox的博客引擎。
- naclpipe star:21 基于加密管的简单的NaCL EC25519工具。
- term-quiz star:18 测试你的终端。
- Snitch star:14 当有人通过 Tsuru 部署任何应用程序时,会通知您的团队以及其他工具。
- GoDocTooltip star:13 包含了 Go 使用手册文档的 Chrome 扩展。
- GoLand 功能齐全的跨平台 Go IDE。
资源
在哪里可以找到新的Go库。 (翻译出错了? 试试 英文版 吧~)
基准
- go-http-routing-benchmark star:1486 HTTP请求路由器基准测试和比较。
- go-web-framework-benchmark star:1450 web框架基准测试。
- go_serialization_benchmarks star:1134 Go序列化方法的基准测试。
- skynet star:977 天网 1M 线程微基准测试。
- speedtest-resize star:208 对比各种图像大小调整算法性能。
- go-benchmarks star:138 Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches
- gospeed star:106 计算语言结构的速度的微观基准测试。
- autobench star:90 用来来比较不同Go版本之间的性能的框架。
- gocostmodel star:55 Go语言常用基本操作的基准测试。
- golang-sql-benchmark star:55 为流行的 Go 数据库/SQL实用程序收集基准测试。
- go-benchmark-app star:21 强大的HTTP基准测试工具,包含了Аb,Wrk,Siege工具。收集统计和各种参数指标,并比较相关结果。
- kvbench star:19 K / V 类型数据库基准测试。
- go-ml-benchmarks star:12 围棋中的机器学习推理基准。
- go-json-benchmark star:4 JSON的基准。
会议
- Capital Go 华盛顿特区。,美国。
- dotGo 巴黎,法国。
- GoCon 东京,日本。
- GoDays 德国柏林。
- GoLab 佛罗伦萨,意大利。
- GolangUK 伦敦,英国。
- GopherChina 上海,中国。
- GopherCon 美国丹佛。
- GopherCon Australia 澳大利亚悉尼。
- GopherCon Brazil 弗洛,BR。
- GopherCon Europe 德国柏林。
- GopherCon India 印度浦那。
- GopherCon Israel 特拉维夫,以色列。
- GopherCon Russia 莫斯科,俄罗斯。
- GopherCon Singapore 新加坡枫树商贸城。
- GopherCon Vietnam 越南胡志明市。
- GothamGo 美国纽约市。
- GoWayFest 白俄罗斯明斯克。
E-Books
- A Go Developer's Notebook
- An Introduction to Programming in Go
- Build Web Application with Golang
- Building Web Apps With Go
- For the Love of Go 为围棋初学者准备的一系列入门书籍。
- Go 101 一本关注 Go 语法/语义和各种细节的书。
- Go Bootcamp
- GoBooks star:9181 一份精选的 Go 书籍清单。
- How To Code in Go eBook 600页的Go介绍针对的是第一次开发人员。
- Go Succinctly star:18 in Persian.
- Learning Go
- Network Programming With Go
- Practical Go Lessons
- 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:2198 由 Maria Letta 提供的与 Gopher 有关的图片包,其中包含了插图,表情文字。
- gopher-logos star:83 可爱的 gopher 标识。
- Go-gopher-Vector star:37 与 Go gopher 相关的媒介数据[。ai . svg)。
- gopher-stickers
- gopher-vector
- gophericons
- gophers star:2412 阿什莉·麦克纳马拉的歌斐艺术品。
- gophers star:2312 Free gophers.
- gopherize.me star:490 Gopherize自己。
- gophers star:90 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 Kathmandu
- 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) (翻译出错了? 试试 英文版 吧~)
风格指南
社交媒体
网站
- awesome-awesomeness star:27480 其他 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 Projects wiki上的 Go 社区项目列表。
- Go Report Card 为你的 Go 包生成一份报告单。
- go.dev 一个围棋开发者的中心。
- Awesome Remote Job star:20200 Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
- golang-graphics star:140 收藏的 Go 图像,图形和艺术作品。
- golang-nuts Go 邮件列表。
- Google Plus Community Google+社区 golang爱好者聚集地。
- Gopher Community Chat 加入我们为Gophers设立的全新Slack社区(了解它是如何产生的)。
- Gophercises 为 Go 初学者提供免费的代码训练。
- gowalker.org Go API 文档。
- json2go 高级JSON去结构转换-在线工具。
- justforfunc 致力于传授 Go 编程语言技巧和技巧的Youtube 频道,由Francesc Campoy @francesc主办。
- Learn Go Programming 学习Go概念与插图。
- Lille Gophers Golang在法国里尔谈论社区(@LilleGophers)。
- Awesome Go @LibHunt 属于你的 Go 工具箱。
- gocryforhelp star:38 专门收集需要帮助的Go项目,这是你开启开源之路的好去处。
- godoc.org 开源 Go 包的文档。
- Golang Developer Jobs 开发人员的工作专为Golang相关的角色。
- Golang Flow 发布更新、新闻、包等等。
- Golang News 关于 Go 编程的链接和新闻。
- Golang Resources 一个最好的文章,练习,谈话和视频的策划学习围棋。
- Made with Golang
- r/Golang 与 Go 有关的新闻。
- studygolang Go语言中文网
- Trending Go repositories on GitHub today 寻找最新的 Go库 的好地方。
- TutorialEdge - Golang
教程
- Build web application with Golang star:37380 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查询。
- Go Cheat Sheet star:5292 Go's reference card。
- Go database/sql tutorial 数据库概论/ sql。
- Go Playground for iOS 在你的移动设备上编辑你编辑和运行你的 Go 代码。
- Ethereum Development with Go star:773 一本讲述如何用 Go 进行以太开发的小册。
- Games With Go 关于编程和游戏开发系列教学视频。
- Go By Example 手把手教你 如何在 Go 应用程序中使用注释。
- 50 Shades of Go Go 初学者经常遇到的陷阱、误区、错误
- A Guide to Golang E-Commerce 教你如何用 Go 搭建一个电商平台 (包括demo)。
- A Tour of Go 互动的 Go 之旅。
- Design Patterns in Go star:49 在Go中实现的编程设计模式的集合。
- Debugged.it Go patterns star:5 高级的Go模式和准备运行的示例。
- Go WebAssembly Tutorial - Building a Simple Calculator
- go-patterns star:14944 策划的清单去设计模式,食谱和习惯用法。
- Learn Go with TDD star:13969 学习使用测试驱动开发。
- Learning Golang - From zero to hero 面向 Golang 初学者教程。
- package main 关于 Go 编程的YouTube频道。
- Programming with Google Go Coursera的专业学习可以从零开始。
- Learn Go with 1000+ Exercises star:9326 通过成千上万的例子、练习和测验来学习Go。
- Golang for Node.js Developers star:2169 引入示例讲述 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:242 关于构建和开发Go web应用/服务的指南。
- The world’s easiest introduction to WebAssembly with Golang
- Working with Go star:1163 由一个经验丰富的Go程序员群体编写的一系列Go学习范例。
- Your basic Go 如何收集大量的教程。