Go 语言优秀资源整理,为项目落地加速🏃
<blockquote><p>最后更新于2019.11.22</p>
<p>Go 语言优秀资源整理,为项目落地加速🏃</p>
<p>在 GitHub 上稳定更新,觉得不错请点个 Star ❤️</p>
<p>如转载分享,请保留出处,谢谢 😆</p>
<p>原文地址: https://shockerli.net/post/go-awesome</p>
<p>GitHub: https://github.com/shockerli/go-awesome</p>
</blockquote>
<hr>
<blockquote>
<p>官网: https://golang.org</p>
<p>国内官网镜像(访问快~): https://golang.google.cn</p>
<p>GitHub: https://github.com/golang/go</p>
<p>开发者平台: https://go.dev</p>
<p>Wiki: https://github.com/golang/go/wiki</p>
</blockquote>
<h2 id="指导原则">指导原则</h2>
<ul>
<li>
<p>简单性</p>
<blockquote>
<p>复杂性把可读的程序变得不可读,复杂性终结了很多软件项目。</p>
</blockquote>
</li>
<li>
<p>可读性</p>
<blockquote>
<p>代码是给人看的,代码阅读时长远超编写。程序必须可维护,那可读是第一步。</p>
</blockquote>
</li>
<li>
<p>生产率</p>
<blockquote>
<p>拥有众多的工具集和基础库,可以很简单方便的完成绝大多数工作。<br>
编译速度足够快,拥有动态语言的高效,但却不会面临动态语言不可靠的问题。<br>
自带编程规范,使得团队代码一致,也帮助开发者发现和避免潜在的错误。</p>
</blockquote>
</li>
</ul>
<h2 id="awesome">Awesome</h2>
<ul>
<li><strong>GitHub Topic for Go</strong></li>
<li><strong>Awesome Go</strong></li>
<li>golang-open-source-projects - 含描述的中文版 Awesome Go</li>
<li>Awesome Go Storage - Go 存储相关开源项目</li>
<li>awesome-go-China - 专门收集华人写的开源项目</li>
<li>Go Patterns - Go 版本的设计模式</li>
<li>go-algorithms - Go 版本的数据结构和算法</li>
<li>Go 学习之路 - Go 学习资料汇集</li>
<li>Go 开发者路线图</li>
</ul>
<h2 id="大牛">大牛</h2>
<blockquote>
<p>Go 语言方面的大牛,或者优秀 Go 项目的组织</p>
</blockquote>
<ul>
<li>mattn - 写了数百个 Go 项目,盛产优质项目</li>
<li>Unknwon - gogs/macaron 等项目作者,《The Way to Go》译者</li>
<li>Jinzhu - gorm/QOR 等作者</li>
<li>valyala - fasthttp/fastjson 等作者</li>
<li>vmihailenco - go-redis/go-pg 等作者</li>
<li>kataras - iris 作者</li>
<li>bep</li>
<li>spf13</li>
<li>Uber - Open Source Software at Uber</li>
<li>Gorilla web toolkit</li>
<li>Stretchr - Tame your unstructured data</li>
<li>Containous</li>
</ul>
<h2 id="文档">文档</h2>
<ul>
<li>Go 官方入门指南</li>
<li>Go 语言高级编程</li>
<li>Go 专家编程</li>
<li>Go 编程语言</li>
<li>Golang 标准库文档(官方/中文)</li>
<li>Go 语言标准库 <em><code>在线阅读</code></em></li>
<li>《The Way to Go》中文版</li>
<li>Go 语言圣经(中文版)</li>
<li>Go语言入门教程</li>
<li>Go 实战开发</li>
<li>Go Web 应用开发</li>
<li>Go 学习技能树</li>
<li>实效 Go 编程</li>
<li>Go 语言语法详解笔记</li>
<li>Go 语言学习资料与社区索引</li>
<li>Go database/sql tutorial</li>
<li>GO 命令教程</li>
<li>深入解析 Go</li>
<li>Go 语言博客实践</li>
<li>学习 Go 语言</li>
<li>Go 夜读 - Go 标准包、开源项目源代码阅读讲解</li>
<li>Go2编程指南</li>
<li>Go database/sql tutorial - Go 数据库(database/sql)开发使用教程</li>
<li>Go Web Examples - Go Web 开发示例</li>
<li>Go Assembly - 通过示例介绍 Go 汇编功能</li>
<li>Ultimate Go - 终极 Go 学习指南,包含大量文档化的代码和程序分析</li>
<li>Go 教程 - 腾讯云开发者手册</li>
</ul>
<h2 id="指南">指南</h2>
<ul>
<li>Uber Go Style Guide</li>
<li>Go 编程语言规范</li>
<li>实效 Go 编程</li>
<li>Go Code Review Comments</li>
<li>Go Code Convention</li>
</ul>
<h2 id="文章">文章</h2>
<ul>
<li><strong>Go语言爱好者周刊</strong></li>
<li>Go的50度灰:Golang新开发者要注意的陷阱和常见错误</li>
<li>Go 程序的性能优化及 pprof 的使用</li>
<li>gops - Go语言程序查看和诊断工具</li>
<li>Go源码分析——http.ListenAndServe()是如何工作的</li>
<li>GoConvey 框架使用指南</li>
<li>GoStub 框架使用指南</li>
<li>GoMock 框架使用指南</li>
<li>Monkey 框架使用指南</li>
</ul>
<h2 id="付费教程">付费教程</h2>
<ul>
<li>基于 Go 语言构建企业级的 RESTful API 服务 - 掘金小册</li>
<li>Go语言核心36讲 - 极客时间</li>
</ul>
<h2 id="成品项目">成品项目</h2>
<ul>
<li>studygolang - Go 语言中文网</li>
<li>Hugo - 静态网站生成器</li>
<li>喧喧 - 由<code>然之协同</code>提供的面向企业即时通信解决方案</li>
<li>mkcert - 生成本地 HTTPS 加密证书的工具</li>
<li>Rainbond - 基于Docker、Kubernetes等容器技术的开源PaaS</li>
<li><strong>NYADB2</strong> - Go 实现的关系型数据库, 值得用于学习</li>
<li>EiBlog - <code>国产</code> 博客</li>
<li>pan-light - 不限速的百度网盘客户端, 基于 Go + Qt5 开发</li>
</ul>
<h2 id="学习项目">学习项目</h2>
<ul>
<li>1m-go-websockets - 该项目演示了如何用 Go 编写一个可以提供超过一百万个 <code>websockets</code> 连接、运行内存小于 1GB 的服务器</li>
<li>Go by Example - 通过实例学习 Go</li>
</ul>
<h2 id="开源类库">开源类库</h2>
<h3 id="框架">框架</h3>
<ul>
<li>Macaron - 一款具有高生产力和模块化设计的 Go Web 框架 <code>国产</code></li>
<li>Beego - 一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架 <code>国产</code></li>
<li>Gin - 轻量 Web 框架</li>
<li>Iris - Web 开发框架</li>
<li>Revel</li>
<li>echo</li>
<li>chi</li>
<li>Faygo - <code>国产</code></li>
<li>Teleport - Socket 框架</li>
<li>GoFrame - <code>国产</code></li>
<li>QOR - 系列应用开发组件包</li>
<li>Buffalo</li>
<li>DotWeb - <code>国产</code></li>
<li>REST Layer - REST API framework</li>
<li>Honeytrap</li>
<li>Ponzu</li>
<li>utron</li>
<li>muxie</li>
<li>go-admin - 与 laravel-admin 类似的后台管理快速开发框架</li>
</ul>
<h3 id="中间件">中间件</h3>
<ul>
<li>Negroni - Web 中间件</li>
<li>csrf - CSRF 中间件</li>
<li>handlers - A collection of useful handlers for Go's <code>net/http</code> package</li>
</ul>
<h3 id="并发">并发</h3>
<ul>
<li>SizedWaitGroup - 并发控制</li>
<li>concurrent - concurrency utilities</li>
</ul>
<h3 id="命令行">命令行</h3>
<ul>
<li>urfave/cli - 命令行程序构建工具</li>
<li><strong>Cobra</strong> - 命令行构建包</li>
<li>GoTTY - 基于Web的命令行实时共享</li>
<li>progressbar - 在终端上输出进度条</li>
<li>Color - 命令行文字颜色</li>
<li>termui - 终端仪表盘</li>
<li>gosu - 以指定的用户权限来运行脚本</li>
<li>tui - 终端 UI</li>
<li>gotop - 类 top 系统监控显示</li>
<li>go-colorable - Colorable writer for Windows</li>
<li>go-isatty - TTY 环境判断</li>
<li>fzf - 命令行下的文件 Finder</li>
<li>flaggy - 命令参数解析</li>
<li>go-daemon - daemon 进程包</li>
<li>pflag - 命令行参数处理</li>
<li>PIXterm - 在命令行终端中绘图</li>
<li>WTF - 一个命令行的信息仪表盘,可以定制显示内容</li>
<li>go-prompt - 命令行交互式输入</li>
</ul>
<h3 id="路由">路由</h3>
<ul>
<li>HttpRouter</li>
<li>mux - URL 路由和调度器</li>
<li>gocraft/web</li>
</ul>
<h3 id="网络">网络</h3>
<ul>
<li><strong>fasthttp</strong> - 比 <code>net/http</code> 快 10 倍的 HTTP 工具包</li>
<li>Resty - HTTP & REST 客户端包</li>
<li>DNS - DNS 库</li>
<li>CoreDNS - DNS 服务器</li>
<li><strong>Caddy</strong> - Web 服务器</li>
<li>RoadRunner - PHP 应用服务器、进程管理器、负载均衡,用于替代 <code>Nginx + FPM</code></li>
<li>Træfik - 反向代理&负载均衡</li>
<li>GoReplay - 流量收集&回放</li>
<li>Vegeta - HTTP 负载压测工具</li>
<li>hey - Web 压测工具</li>
<li>bombardier - Web 压测工具</li>
<li>p2pspider - 种子嗅探器</li>
<li>goim - 支持集群的 im 及实时推送服务</li>
<li>Proxy - golang 实现的高性能代理服务器</li>
<li>ProxyPool - 采集免费的代理资源为爬虫提供有效的IP代理</li>
<li>frp - 可用于内网穿透的高性能的反向代理应用</li>
<li>torrent - BitTorrent 相关工具库</li>
<li>httpteleport - Teleports 10Gbps http traffic over 1Gbps networks</li>
<li>FIND3 - WiFi 设备发现</li>
<li>SubFinder - 子域名发现工具</li>
<li>ggz - 短网址服务</li>
<li>httpstat</li>
</ul>
<h3 id="websocket">WebSocket</h3>
<ul>
<li>Gorilla WebSocket</li>
<li>websocketd - Go 开发的一键搭建 WebSocket 服务器命令行工具</li>
<li>ws - WebSocket 开发包</li>
<li>melody - WebSocket 服务框架</li>
</ul>
<h3 id="网关">网关</h3>
<ul>
<li>GoKu API Gateway CE - eoLinker 开源的 API 网关</li>
</ul>
<h3 id="序列化">序列化</h3>
<ul>
<li>vmihailenco/msgpack - 支持 msgpack</li>
<li>go/codec - 支持 msgpack/binc/cbor/json</li>
<li>protobuf - Go 版本的 Protocol Buffers</li>
<li>Objx - 操作 map, slice, JSON 等数据的包</li>
</ul>
<h3 id="rpc">RPC</h3>
<ul>
<li>gRPC-Go - gRPC 官方包</li>
<li>gorpc</li>
<li>gorilla/rpc - 构建基于 HTTP 的 RPC 服务,比如 JSON-RPC</li>
<li>Lile - gRPC 服务构建包</li>
<li>rpcx</li>
<li>Twirp</li>
</ul>
<h3 id="邮件">邮件</h3>
<ul>
<li>Gomail - 邮件发送包</li>
<li>scorredoira/email</li>
</ul>
<h3 id="消息">消息</h3>
<ul>
<li>Tinode - 即时消息服务器,通过 websocket/JSON 或 gRPC/TCP 等协议传输</li>
<li>NSQ - 分布式消息平台</li>
</ul>
<h3 id="文件">文件</h3>
<ul>
<li>Syncthing - 文件同步</li>
<li>fsnotify - 文件系统监控工具</li>
<li>gohttpserver - HTTP 静态文件服务器</li>
<li>XLSX - Excel 读写包</li>
<li>Excelize - 360 开源的 Excel 工具包</li>
<li>SeaweedFS - 分布式文件系统</li>
<li>go-fastdfs - 分布式文件存储服务</li>
<li>Dragonfly - 基于 P2P 的分布式文件系统</li>
<li>filetype - 检测文件类型</li>
<li>cae - 实现 ZIP/TAR.GZ 解压缩</li>
<li>compress - Optimized compression packages</li>
<li>Afero - 文件操作包</li>
<li>fsync - 文件/目录同步</li>
<li>filebrowser - Web File Browser</li>
<li>Bigfile - 文件传输管理系统</li>
<li>statik - 静态文件服务</li>
</ul>
<h3 id="模板引擎">模板引擎</h3>
<ul>
<li>goTemplateBenchmark - 给各 Go 模板引擎做性能测试,当然也就包含了最全的模板引擎包</li>
<li>Jet - 速度很快</li>
<li>amber - HTML 模板引擎</li>
<li>fasttemplate - Simple and fast template engine for Go</li>
<li>quicktemplate</li>
<li>mustache</li>
<li>Ace</li>
</ul>
<h3 id="文本">文本</h3>
<ul>
<li>Blackfriday - Markdown 解析器</li>
<li>gpy - Go 语言汉字转拼音工具</li>
<li>html2text - HTML 转 text</li>
<li>go-hashids - hashids 的 Go 版本</li>
<li>go-pinyin - 汉语拼音转换工具 Go 版</li>
<li>mahonia - 字符集编码转换</li>
<li>pangu.go - Go 版本的 pangu,给中英文之间加空格</li>
<li>goorgeous - A Go ORG syntax parser to HTML</li>
<li>go-diff - Go 版本的 diff 工具包</li>
<li>Chroma - 代码语法高亮</li>
<li>Emoji</li>
<li>prose - natural language processing library</li>
<li>minify - Web 静态资源压缩(HTML/JS/CSS/JSON)</li>
<li>Lute - 结构化的 Markdown 引擎</li>
<li>docx2md 转换 Word 为 Markdown</li>
<li>Inflection - Pluralizes and singularizes English nouns</li>
</ul>
<h3 id="文档-1">文档</h3>
<ul>
<li>swag - Swagger for Go</li>
<li>gin-swagger - Swagger for Gin</li>
<li>go-swagger - Swagger 2.0 implementation for go</li>
</ul>
<h3 id="数学计算">数学计算</h3>
<ul>
<li>decimal - 解决浮点数计算精度问题</li>
<li>fixed</li>
</ul>
<h3 id="日期时间">日期时间</h3>
<ul>
<li>now</li>
<li>when - 自然日期时间解析</li>
</ul>
<h3 id="配置">配置</h3>
<ul>
<li>GoDotEnv - <code>.env</code> 配置文件解析</li>
<li>yaml</li>
<li>toml - <code>TOML</code> 解析&编码包</li>
<li>INI - <code>INI</code> 配置文件解析</li>
<li>Viper - 支持 <code>JSON</code>, <code>TOML</code>, <code>YAML</code>, <code>HCL</code>, <code>Java</code> 等配置文件</li>
<li>Multiconfig</li>
<li>configor</li>
<li>envconfig</li>
<li>confd - 配置管理工具</li>
<li>HCL - configuration language</li>
<li>env - 解析 ENV 环境变量到结构体中</li>
</ul>
<h3 id="爬虫">爬虫</h3>
<ul>
<li>Crawlab - 基于Golang的分布式爬虫管理平台,支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架</li>
<li>Colly - 网络爬虫框架</li>
<li>Pholcus - 支持分布式的高并发、重量级爬虫软件</li>
<li>go_spider</li>
<li>goquery</li>
<li>Muffet - 网站链接检查器</li>
<li>Creeper</li>
</ul>
<h3 id="数据库相关">数据库相关</h3>
<ul>
<li>GORM
<ul>
<li>gorm2sql - 根据 Model Struct 生成建表语句</li>
</ul>
</li>
<li>Xorm - 支持 MySQL、PostgreSQL、SQLite3 以及 MsSQL</li>
<li>GoRose</li>
<li>Go-MySQL-Driver</li>
<li>sqlx - <code>database/sql</code> 扩展包</li>
<li>qb - the database toolkit for go</li>
<li>Redigo - Redis 客户端</li>
<li>go-redis</li>
<li>mongo-go-driver - MongoDB 官方出品的 Go 语言驱动</li>
<li>mgo
<ul>
<li>globalsign/mgo - The MongoDB driver for Go</li>
<li>mgo使用指南</li>
</ul>
</li>
<li>amqp - Go client for AMQP 0.9.1</li>
<li>xo - a command-line tool to generate Go code based on a database schema or a custom query</li>
<li>kingshard - MySQL Proxy</li>
<li>SOAR - 对SQL进行优化和改写的自动化工具</li>
<li>gh-ost - GitHub 开源的在线更改 MySQL 表结构的工具</li>
<li>go-mssqldb - MSSQL 驱动</li>
<li>pq - PostgreSQL 驱动</li>
<li>SQLer - write APIs using direct SQL queries with no hassle, let's rethink about SQL</li>
<li>gocraft/dbr</li>
<li>Gaea - 小米开源的基于 MySQL 协议的数据库中间件</li>
<li>OctoSQL - 支持多数据库的 SQL 查询工具</li>
<li>goose - 数据库迁移工具</li>
<li><strong>ent</strong> - An Entity Framework For Go</li>
</ul>
<h3 id="数据库引擎">数据库引擎</h3>
<ul>
<li>etcd - KV 分布式存储</li>
<li>InfluxDB</li>
<li>CockroachDB - SQL database</li>
<li>Cayley - 图数据库</li>
<li>RadonDB - 基于 MySQL 研发的新一代分布式关系型数据库</li>
<li>AresDB - Uber 开源的 GPU 驱动的实时分析存储&查询引擎</li>
<li>leveldb - LevelDB 的 Go 实现</li>
<li>Dgraph - 分布式图数据库</li>
</ul>
<h3 id="搜索">搜索</h3>
<ul>
<li>wukong - 全文搜索引擎</li>
<li>go-elasticsearch - 官方 ES 客户端</li>
<li>elastic - Elasticsearch 客户端</li>
<li>go-mysql-elasticsearch - Sync MySQL data into elasticsearch</li>
<li>gse - Go 语言分词</li>
<li>sego - Go 中文分词</li>
<li>Riot - 全文搜索引擎</li>
</ul>
<h3 id="表单">表单</h3>
<ul>
<li>validator</li>
<li>go-tagexpr - 字节跳动开源的结构体标签表达式解释器</li>
<li>schema - converts structs to and from form values</li>
</ul>
<h3 id="auth">Auth</h3>
<ul>
<li>Casbin - 权限控制管理</li>
<li>pam-ussh - Uber's SSH certificate pam module</li>
<li>jwt-go - JWT for Go</li>
<li>sessions - 后端 SESSION 服务</li>
<li>securecookie - cookie 加密/解密</li>
<li>Goth - Multi-Provider Authentication for Go</li>
</ul>
<h3 id="缓存">缓存</h3>
<ul>
<li>GCache</li>
<li>bbolt - key/value store</li>
<li>BigCache</li>
<li>go-cache - KV 内存缓存</li>
<li>gomemcache - Memcache 客户端</li>
<li>cache2go</li>
</ul>
<h3 id="图片">图片</h3>
<ul>
<li>barcode - 条形码/二维码生成器</li>
<li>picfit - 图片操作、裁剪、管理服务器</li>
<li>gmfs - 图片操作、裁剪、管理服务器</li>
<li>besticon - favicon 服务</li>
<li>Caire - 图片操作库</li>
<li>Imaging - 图片操作库</li>
<li>gocaptcha - 验证码生成</li>
<li>go-is-svg - 校验是否为 SVG 图片</li>
<li>identicon - 根据用户的 IP 、邮箱名等任意数据为用户产生漂亮的随机头像</li>
</ul>
<h3 id="图表">图表</h3>
<ul>
<li>go-echarts - Echarts 图表库</li>
</ul>
<h3 id="构建编译">构建编译</h3>
<ul>
<li><strong>Mage</strong> - a Make/rake-like build tool using Go</li>
<li><strong>GoReleaser</strong> - Go 多平台二进制文件打包、并支持发布到 Homebrew 的工具</li>
<li>goxc - 跨平台编译工具(因 1.5 版本开始已自带交叉编译,故已不再维护)</li>
<li>Task - 类似于 <code>Make</code> 的构建工具</li>
<li>codegangsta/gin - 热编译工具,自动监测文件变化而重新编译并重启,方便开发调试 Web 应用</li>
</ul>
<h3 id="优雅升级">优雅升级</h3>
<ul>
<li>tableflip</li>
</ul>
<h3 id="代码分析">代码分析</h3>
<ul>
<li>reviewdog - Code Review 机器人</li>
<li>revive - 代码检查分析</li>
<li><strong>GolangCI-Lint</strong> - 代码质量检查分析工具</li>
<li>errcheck - 检测未处理的错误(errors)</li>
<li>Staticcheck - 一系列的 Go 代码静态分析工具</li>
<li>Golint - Google 官方出品的代码质量检测工具</li>
<li>GoReporter</li>
<li>go-critic</li>
<li>gocloc - 分语言代码行数统计</li>
</ul>
<h3 id="调试">调试</h3>
<ul>
<li><strong>go-spew</strong> - 变量打印工具</li>
<li><strong>Delve</strong> - Debug 工具</li>
<li>repr - 变量打印工具</li>
<li>pp - 彩色变量打印工具</li>
<li>gops - 谷歌官方出品的 Go 程序监控调试工具</li>
<li>pprof</li>
<li>go-callvis - 可视化Go程序的调用图</li>
<li>q - 自动打印变量类型并且格式化输出</li>
<li>Litter</li>
</ul>
<h3 id="测试">测试</h3>
<ul>
<li>GoConvey - 含Web界面的单元测试框架</li>
<li>GoMock - 谷歌出品的Mock测试框架</li>
<li>GoStub</li>
<li>Monkey</li>
<li>Ginkgo - BBD 测试框架</li>
<li>fperf - 压测工具</li>
<li>gocheck</li>
<li>Testify</li>
<li>gotests - Generate Go tests from your source code</li>
<li>TestSQL - 根据 SQL 创建语句生成测试数据</li>
<li>httpmock - HTTP Mock</li>
<li>Goblin - BDD 测试框架</li>
<li>Faker - Struct Data Fake Generator</li>
<li>go-tprof - 包测试报告生成工具</li>
</ul>
<h3 id="错误处理">错误处理</h3>
<ul>
<li>errors</li>
<li>errorx</li>
</ul>
<h3 id="安全">安全</h3>
<ul>
<li>Kunpeng - 开源POC检测框架</li>
</ul>
<h3 id="硬件">硬件</h3>
<ul>
<li>go-hardware - 收集了一堆关于硬件信息的包</li>
<li>cpuid - CPU 信息</li>
</ul>
<h3 id="uuid">UUID</h3>
<ul>
<li>go.uuid - UUID 库</li>
<li>SEQSVR - Go + MySQL 实现的分布式 ID 生成服务</li>
<li>google/uuid - Google 开源的 uuid 包</li>
<li>gofrs/uuid</li>
<li>snowflake - Twitter snowflake IDs</li>
</ul>
<h3 id="日志收集">日志&收集</h3>
<ul>
<li>Logrus - 日志记录包</li>
<li>zerolog</li>
<li>zap - Uber 开发的日志记录包</li>
<li>Seelog</li>
<li>logkit - 七牛开源的日志收集工具</li>
<li>gogstash - 类似于 Logstash 的日志收集器</li>
<li>lumberjack</li>
</ul>
<h3 id="监控">监控</h3>
<ul>
<li>OpenFalcon - 小米开源的监控系统</li>
<li>Prometheus - 监控系统</li>
<li>Grafana - 分析监视平台, 支持 Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB 等数据源</li>
<li>TeaWeb - 一款集静态资源、缓存、代理、统计、监控于一体的可视化智能WebServer</li>
<li>Jaeger - 分布式追踪系统</li>
</ul>
<h3 id="统计分析">统计分析</h3>
<ul>
<li>Fathom - Web 站点统计</li>
<li>Signal - Web 站点统计</li>
</ul>
<h3 id="容器技术">容器技术</h3>
<ul>
<li>Rancher - 全栈化企业级容器管理平台</li>
<li>Gorsair</li>
<li>docui - TUI Client for Docker</li>
</ul>
<h3 id="机器学习">机器学习</h3>
<ul>
<li>goml - 机器学习库</li>
<li>GoLearn - 一个 "开箱即用" 的机器学习库</li>
<li>glow - 易用的分布式计算系统</li>
<li>Gobot - 机器人和物理计算语言库</li>
<li>Olivia - 神经网络</li>
<li>Pico - 基于像素强度比较的物体检测纸张的纯 Go 脸部检测库</li>
</ul>
<h3 id="算法">算法</h3>
<ul>
<li>GoDS</li>
<li>Dragonboat - 多组 Raft 共识算法库</li>
<li>golang-lru - LRU 算法实现</li>
</ul>
<h3 id="数据结构">数据结构</h3>
<ul>
<li>go-datastructures</li>
<li>Play-with-Data-Structures - 「玩转数据结构」课程的 Go 语言实现版本</li>
<li>HashMap</li>
<li>SipHash - SipHash-2-4</li>
<li>Bigslice</li>
<li>golang-set - The missing set collection</li>
</ul>
<h3 id="依赖注入">依赖注入</h3>
<ul>
<li>Wire</li>
<li>dig</li>
<li>Fx</li>
</ul>
<h3 id="json">JSON</h3>
<ul>
<li>GJSON - JSON 解释器</li>
<li>SJSON - JSON 修改工具</li>
<li>fastjson - fast JSON parser and validator for Go</li>
<li>jsonparser</li>
<li>ffjson</li>
<li>json-iterator - 滴滴开源的 JSON 解析器</li>
</ul>
<h3 id="依赖管理">依赖管理</h3>
<ul>
<li><strong>goproxy.io</strong> - <code>GOPROXY</code> 代理服务</li>
<li>goproxy.cn - 更适合国内用户的代理服务</li>
<li>Gopm - Go 包管理工具</li>
<li>govendor - Vendor 包管理工具</li>
<li>gom - 包版本管理工具</li>
</ul>
<h3 id="微服务">微服务</h3>
<ul>
<li>Istio [中文文档] - 跨语言微服务框架</li>
<li>goa</li>
<li>Micro - 微服务工具</li>
<li>Go kit - Go 微服务工具集</li>
<li>GoKit CLI - Go kit 脚手架</li>
<li>gogo</li>
<li>Go-Chassis</li>
<li>Go Micro - 微服务框架</li>
<li>Kite</li>
</ul>
<h3 id="持续集成部署">持续集成/部署</h3>
<ul>
<li>CDS - 持续集成服务</li>
<li>gopub</li>
<li>CodePub</li>
<li>syncd - 代码部署工具</li>
<li>Drone - 基于 Docker 的持续发布平台</li>
<li>Cyclone - 持续集成&发布平台</li>
</ul>
<h3 id="git">Git</h3>
<ul>
<li>gogs - 类似于 GitLab 的 Git 服务器</li>
<li>Gitea - 由 gogs 分叉出的 Git 服务器</li>
<li>go-git - Go 实现的 Git 操作</li>
<li>gitin - commit/branch/status explorer for git</li>
<li>hub - GitHub 命令行工具</li>
<li>git-o-matic - 一个监控 Git 仓库变化和自动 pull/push 的工具</li>
</ul>
<h3 id="限流器">限流器</h3>
<ul>
<li><strong>Tollbooth</strong> - Simple middleware to rate-limit HTTP requests</li>
<li>ratelimit</li>
<li>RateLimit</li>
<li>go-rate</li>
<li>Circuit - 熔断器</li>
<li>uber-go/ratelimit</li>
</ul>
<h3 id="解释器">解释器</h3>
<ul>
<li><strong>participle</strong> - 通用的自定义语法解析包</li>
<li>GopherLua - VM and compiler for Lua in Go</li>
<li>go-lua - A Lua VM in pure Go</li>
<li>php-parser - PHP AST 语法解析</li>
<li>otto - JavaScript 解释器</li>
<li>goja - ECMAScript 5.1(+) implementation in Go</li>
<li>gpython - Python Interpreter on Go</li>
<li>starlark-go - Starlark in Go</li>
<li>avo - Generate x86 Assembly with Go</li>
<li>wagon - WebAssembly 解释器</li>
<li>GopherJS - 把 Go 代码编译成 JavaScript 代码</li>
<li>Yaegi - Go 语言解释器</li>
<li>properties - Java properties scanner for Go</li>
<li>gobasic - A BASIC interpreter written in golang</li>
</ul>
<h4 id="自定义解释器">自定义解释器</h4>
<ul>
<li>Math-Engine - 使用 Go 实现的数学表达式解析计算引擎库,学习语法解析很适用</li>
<li>Gval - 表达式计算</li>
<li>expression-parsing</li>
<li>goexp - Recursive descent expression parser in Go</li>
<li>goastch - Go AST 语法解析</li>
<li>tdop</li>
<li>swallow</li>
<li>Anko</li>
<li>Expr - 编译&执行字符串中的表达式</li>
<li>Tengo - 用 Go 编写的脚本语言</li>
<li>V - Go 编写的语言</li>
<li>kumarUjjawal/bison</li>
<li>Monkey</li>
</ul>
<h3 id="查询语言">查询语言</h3>
<ul>
<li>graphql - Go 实现的 GraphQL</li>
<li>RQL - REST 资源查询语言</li>
<li>Thunder - GraphQL 服务构建框架</li>
</ul>
<h3 id="游戏相关">游戏相关</h3>
<ul>
<li>Nano - 游戏开发框架</li>
<li>Leaf</li>
<li>einx</li>
</ul>
<h3 id="桌面开发">桌面开发</h3>
<ul>
<li>Lorca - 用 Go 编写 HTML5 桌面程序,依赖 Chrome 进行 UI 渲染,但却不把 Chrome 打包到应用中</li>
<li>webview - 用 Go 构建跨平台的桌面软件</li>
<li>walk - Windows GUI toolkit</li>
<li>go-gtk - Go bindings for GTK</li>
<li>ui - Platform-native GUI library for Go</li>
<li>fyne - Cross platform GUI in Go based on Material Design</li>
<li>go-gl - Go bindings for OpenGL (generated via glow)</li>
<li>therecipe/qt - 基于 Qt 的跨全平台 UI 包</li>
</ul>
<h3 id="任务定时器">任务/定时器</h3>
<ul>
<li>Grift - Go based task runner</li>
</ul>
<h3 id="微信">微信</h3>
<ul>
<li>weapp - 微信小程序 SDK</li>
</ul>
<h3 id="未归类">未归类</h3>
<ul>
<li>Robotgo - Golang 跨平台自动化系统,控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听</li>
<li>cron - a cron library for go</li>
<li>goCron - A Golang Job Scheduling Package</li>
<li>com - 工具包</li>
<li>php2go - Go 实现的 140+ 个 PHP 函数功能包</li>
<li>gommon - Common packages for Go</li>
<li><strong>Go Report Card</strong> - Go 项目质量分析报告工具</li>
<li>i18n - <code>i18n</code> 多语言工具包</li>
<li>Paginater - 分页工具</li>
<li>gls - Goroutine local storage</li>
<li>go-version - 版本号比较</li>
<li>reflect2 - reflect api without runtime reflect.Value cost</li>
<li>mapstructure - Go library for decoding generic map values into native Go structures</li>
<li>copier - struct 之间拷贝值</li>
<li>Cast - 数据类型转换</li>
<li>Metabolize - Decodes HTML meta tags into a Golang struct</li>
<li>otp - 一次性密码工具包(One Time Password utilities)</li>
<li>feeds - RSS 内容生成</li>
<li>gofeed - RSS & Atom feeds 内容解析</li>
<li>wechat-go - 微信 Web 版 API 的 Go 实现</li>
<li>misspell - 常拼写错误的英语单词</li>
<li>Standard Go Project Layout - Go 项目目录结构示例</li>
<li>CRDT - CRDT(Convergent and Commutative Replicated Data Types)最终一致性算法的实现</li>
<li>script - Making it easy to write shell-like scripts in Go</li>
<li>sysadmin-utils</li>
</ul>
<h2 id="工具">工具</h2>
<ul>
<li>goenv - Go 版本管理</li>
<li>GoLand - IDE 软件</li>
<li><s>IntelliJ系列软件Go语言插件</s></li>
</ul>
<h2 id="资源站点">资源站点</h2>
<ul>
<li>Go 语言中文网</li>
<li>Golang 中国</li>
<li>go-zh</li>
<li>Golang sizeof tips - 输入结构体定义,会显示内存布局</li>
</ul>
<hr>
<p>感谢您的阅读,觉得内容不错,点个赞吧 😆</p>
<blockquote>
<p>原文地址: https://shockerli.net/post/go-awesome/</p>
</blockquote><br><br>
来源:https://www.cnblogs.com/shockerli/p/go-awesome.html
頁:
[1]