发布于2022年11月4日2年前 Go 语言优秀资源整理,为项目落地加速 指导原则简单性复杂性把可读的程序变得不可读,复杂性终结了很多软件项目。可读性代码是给人看的,代码阅读时长远超编写。程序必须可维护,那可读是第一步。生产率拥有众多的工具集和基础库,可以很简单方便的完成绝大多数工作。 编译速度足够快,拥有动态语言的高效,但却不会面临动态语言不可靠的问题。 自带编程规范,使得团队代码一致,也帮助开发者发现和避免潜在的错误。AwesomeGitHub Topic for GoAwesome Gogolang-open-source-projects - 含描述的中文版 Awesome GoAwesome Go Storage - Go 存储相关开源项目awesome-go-China - 专门收集华人写的开源项目Go Patterns - Go 版本的设计模式sevenelevenlee/go-patterns - 设计模式GoF 设计模式greyireland/algorithm-pattern - 算法模板go-algorithms - Go 版本的数据结构和算法Go 学习之路 - Go 学习资料汇集Go 开发者路线图ReposHub-Go大牛Go 语言方面的大牛,或者优秀 Go 项目的组织mattn - 写了数百个 Go 项目,盛产优质项目Unknwon - gogs/macaron 等项目作者,《The Way to Go》译者Jinzhu - gorm/QOR 等作者valyala - fasthttp/fastjson 等作者vmihailenco - go-redis/go-pg 等作者kataras - iris 作者bepspf13Uber - Open Source Software at UberGorilla web toolkitStretchr - Tame your unstructured dataContainouslestrrat-goHashiCorpjujutidwall文档Go 语言设计与实现Go 语言原本Go 101 (中文版)Go 官方入门指南Go 语言高级编程Go 专家编程Go 编程语言Golang 标准库文档(官方/中文)Go 语言标准库 在线阅读《The Way to Go》中文版Go 语言圣经(中文版)Go语言入门教程Go 实战开发Go Web 应用开发Go 学习技能树实效 Go 编程Go 语言语法详解笔记Go 语言学习资料与社区索引Go database/sql tutorialGO 命令教程深入解析 GoGo 语言博客实践学习 Go 语言Go2编程指南Go database/sql tutorial - Go 数据库(database/sql)开发使用教程Go Web Examples - Go Web 开发示例Go Assembly - 通过示例介绍 Go 汇编功能Ultimate Go - 终极 Go 学习指南,包含大量文档化的代码和程序分析Go 教程 - 腾讯云开发者手册Golang 开发笔记golang-notesThe Little Go Book (中文版)Learning Go — from zero to herogo-internals - 深入理解 GoLearn Go with TestsGo基础教程7天用Go从零实现系列Golang - 100天从新手到大师 - 某培训机构的部分教程内容algo - 107+ 编码面试问题,包括详细的解决方案,测试用例和程序分析over-golang - Go 学习笔记over-algorithm - Go 算法笔记learngo - 1000+ Go 示例、练习和测试go-leetcode - LeetCode 实现玩转 GO - 《Mastering GO》中文译本leetcode-cookbook - LeetCode in Go指南Uber Go Style GuideThe Go Programming Language Specification (中文老版)实效 Go 编程Go Code Review CommentsGo Code ConventionGo FAQ 101Go Details 101Go Tips 101Go Quizzes 101go-advicesgo-perfbook - 编写和优化Go代码Practical Go: Real world advice for writing maintainable Go programs (Go 语言实践:编写可维护的程序的建议)文章Go Training - 大量优质 Go 相关文章、视频等资料Go语言爱好者周刊Go 夜读 - Go 标准包、开源项目源代码阅读讲解Go-Questions - Go 语言学习入门和进阶知识Go的50度灰:Golang新开发者要注意的陷阱和常见错误Go 程序的性能优化及 pprof 的使用gops - Go语言程序查看和诊断工具Go源码分析——http.ListenAndServe()是如何工作的GoConvey 框架使用指南GoStub 框架使用指南GoMock 框架使用指南Monkey 框架使用指南付费教程基于 Go 语言构建企业级的 RESTful API 服务 - 掘金小册Go语言核心36讲 - 极客时间成品项目studygolang - Go 语言中文网mkcert - 生成本地 HTTPS 加密证书的工具Rainbond - 基于Docker、Kubernetes等容器技术的开源PaaSNYADB2 - Go 实现的关系型数据库, 值得用于学习EiBlog - 国产 博客pan-light - 不限速的百度网盘客户端, 基于 Go + Qt5 开发BaiduPCS-Go - 百度网盘客户端daily-warm - 每天定时发邮件给你关心的人pipe - 博客平台mdr - 命令行下的 Markdown 阅读工具miniflux - Feed 阅读器链滴笔记 - 桌面端笔记应用wayback - 网页快照备份静态网站生成器Hugojrnlplentiverless学习项目1m-go-websockets - 该项目演示了如何用 Go 编写一个可以提供超过一百万个 websockets 连接、运行内存小于 1GB 的服务器Go by Example - 通过实例学习 Go开源类库Web 框架Macaron - 一款具有高生产力和模块化设计的 Go Web 框架 国产Beego - 一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架 国产Gin - 轻量 Web 框架Iris - Web 开发框架RevelechochiFaygo - 国产Teleport - Socket 框架GoFrame - 国产QOR - 系列应用开发组件包BuffaloDotWeb - 国产REST Layer - REST API frameworkHoneytrapPonzuutronmuxieBuffalo - 快速生成 Web 项目的开发工具go-web-framework-benchmarkfiber - 一种 Express 风格的、基于 fasthttp 的 HTTP Web 框架aahgo-zero - 好未来开源的 Web 框架业务框架GoAdminGroup/go-admin - 后台管理快速开发框架,与 laravel-admin 类似wenjianzhang/go-admin - 基于 Gin + Vue 实现的后台框架gin-vue-admin - 基于 Gin + Vue 实现的后台框架goxygen - 基于 Go, React, MongoDB 技术实现的全栈应用生成器nging - Go语言通用后台管理框架snake - 业务API框架项目骨架Standard Go Project Layout - Go 项目目录结构示例go-starter - Adobe 的 Go 工程模板go-clean-archgo-rest-api - Go RESTful API Starter KitTCP 框架zinx - TCP并发服务器框架中间件Negroni - Web 中间件csrf - CSRF 中间件handlers - A collection of useful handlers for Go’s net/http package并发SizedWaitGroup - 并发控制concurrent - concurrency utilities命令行urfave/cli - 命令行程序构建工具Cobra - 命令行构建包progressbar - 在终端上输出进度条cheggaaa/pb - 终端进度条mpb - 支持多个进度条Color - 命令行文字颜色termui - 终端仪表盘gosu - 以指定的用户权限来运行脚本tui - 终端 UIgotop - 类 top 系统监控显示go-colorable - Colorable writer for Windowsgo-isatty - TTY 环境判断fzf - 命令行下的文件 Finderflaggy - 命令参数解析go-daemon - daemon 进程包pflag - 命令行参数处理PIXterm - 在命令行终端中绘图WTF - 一个命令行的信息仪表盘,可以定制显示内容go-prompt - 命令行交互式输入peco - 交互式过滤工具termenv - 终端应用程序的高级 ANSI 样式和颜色支持asciigraph - 在终端中绘制 ASCII 字符的图表spinner - 涵盖70多种符号或进度条的控制器tablewriter - 终端中输出表格内容clop - 命令行解析包go-flags - 命令行参数解析termdash - 基于 Go Terminal 的仪表板系统kong - 命令行解析bubbletea - TUI 框架pty - PTY for Govtclean - 从终端输出字符串中解析出纯文本终端工具vgrep - 支持滚动分页的 grepGoTTY - 基于Web的命令行实时共享路由HttpRoutermux - URL 路由和调度器gocraft/webgo-querystring - 转换结构体为URL请求参数CleverGo网络DNS - DNS 库CoreDNS - DNS 服务器RoadRunner - PHP 应用服务器、进程管理器、负载均衡,用于替代 Nginx + FPMGoReplay - 流量收集&回放Sharingan - 滴滴开源的流量录制回放工具Glorp - HTTP 拦截&重放的 CLI 工具p2pspider - 种子嗅探器torrent - BitTorrent 相关工具库rain - BitTorrent 客户端和库httpteleport - Teleports 10Gbps http traffic over 1Gbps networksFIND3 - WiFi 设备发现SubFinder - 子域名发现工具ggz - 短网址服务httpstatgrab - 文件下载go-netty - 网络框架gnet - 事件驱动 Go 网络框架httplab - The interactive web serveryamux - Multiplexersftp - SFTP support for the go.crypto/ssh packageevio - 事件驱动网络框架(reactor 模式)gaio - 事件驱动网络框架(proactor 模式)httpretty - 在终端上漂亮地打印出 HTTP 请求blocky - 作为局域网 DNS 代理拦截广告lossy - 模拟 net.PacketConn 和 net.Conn 接口的带宽,延迟和数据包丢失go-libp2p - P2Pgo-ipfs-api - IPFSgo-multiaddr - multiaddr网络代理Caddy - 类似 Nginx 的 Web 服务器Traefik - 反向代理&负载均衡Proxy - golang 实现的高性能代理服务器ProxyPool - 采集免费的代理资源为爬虫提供有效的IP代理frp - 可用于内网穿透的高性能的反向代理应用nps - 一款轻量级、高性能、功能强大的内网穿透代理服务器MOSN - 云原生网络代理Pomerium - 基于身份的反向代理V2RayV2Fly - V2Ray 的社区版本HTTP压测Vegeta - HTTP 负载压测工具hey - Web 压测工具bombardier - Web 压测工具go-wrkHTTPfasthttp - 比 net/http 快 10 倍的 HTTP 工具包Resty - HTTP & REST 客户端包gout - HTTP 客户端gentleman - HTTP 客户端gozUserAgent - 解析 HTTP User Agentpurell - URL 规范工具包go-autorest - HTTP 管道请求方式的客户端WebSocketgorilla/websocketnhooyr/websocket - 官方推荐的包websocketd - Go 开发的一键搭建 WebSocket 服务器命令行工具ws - WebSocket 开发包melody - WebSocket 服务框架neffos - 一个快速且可扩展的 WebSocket 框架即时通信Centrifugo - 实时消息服务器,可以与任何语言编写的应用程序后端结合使用goim - 支持集群的 im 及实时推送服务Tinode - 即时消息服务器,通过 websocket/JSON 或 gRPC/TCP 等协议传输WebRTC - WebRTC 实现网关GoKu API Gateway CE - eoLinker 开源的 API 网关序列化/解压缩vmihailenco/msgpack - 支持 msgpackgo/codec - 支持 msgpack/binc/cbor/jsongolang/protobuf - Go 版本的 Protocol Buffersgogo/protobuf - golang/protobuf 的扩展替代品Objx - 操作 map, slice, JSON 等数据的包snappy - Go 语言版本的 SnappyRPCgRPC-Go - gRPC 官方包gorpcgorilla/rpc - 构建基于 HTTP 的 RPC 服务,比如 JSON-RPCLile - gRPC 服务构建包rpcxTwirp - 基于 Protobuf 的 RPC 框架,与 gRPC 类似lile - gRPC 服务生成工具dubbo-go邮件gomail - 邮件发送包scorredoira/emailHermes - Go 版本的 mailgen 引擎,根据配置生成 HTML 格式的邮件消息NSQ - 实时分布式消息平台NATS - 云原生消息中间件文件MinIO - 对象存储服务器Syncthing - 文件同步fsnotify - 文件系统监控工具reflex - 监听文件变更并执行命令gohttpserver - HTTP 静态文件服务器XLSX - Excel 读写包Excelize - 360 开源的 Excel 工具包gopdf - PDF 生成rsc/pdf - PDF readerSeaweedFS - 分布式文件系统go-fastdfs - 分布式文件存储服务Dragonfly - 基于 P2P 的分布式文件系统filetype - 检测文件类型cae - 实现 ZIP/TAR.GZ 解压缩archiver - 多格式支持的解压缩包compress - Optimized compression packagesAfero - 文件操作包fsync - 文件/目录同步filebrowser - Web File BrowserBigfile - 文件传输管理系统statik - 静态文件服务filetype - 文件类型与 MIME 检测模板引擎goTemplateBenchmark - 给各 Go 模板引擎做性能测试,当然也就包含了最全的模板引擎包Jet - 速度很快amber - HTML 模板引擎fasttemplate - Simple and fast template engine for GoquicktemplatemustacheAceSprigpongo2 - Django 语法风格的模板引擎代码生成esc文本处理MarkdownBlackfriday - Markdown 解析器Lute - 结构化的 Markdown 引擎goldmark - Markdown 解析器docx2md - 转换 Word 为 Markdownglamour - 命令行下渲染 Markdowngo-md2man - 转换 Markdown 为 man 手册内容HTMLDOM - HTML DOM 节点操作obelisk - 保存 Web 网页为 HTML 单页面html2text - HTML 转 textgo-readability - 让 HTML 可读性更高其他go-runewidth - 字符长度计算gpy - Go 语言汉字转拼音工具go-hashids - hashids 的 Go 版本go-pinyin - 汉语拼音转换工具 Go 版mahonia - 字符集编码转换pangu.go - Go 版本的 pangu,给中英文之间加空格goorgeous - A Go ORG syntax parser to HTMLsergi/go-diff - Go 版本的 diff 工具包sourcegraph/go-diff - Go 版本的 diff 工具包Chroma - 代码语法高亮syntaxhighlight - 代码高亮kyokomi/emojienescakir/emojigolang/freetype - Freetype font rasterizerprose - natural language processing libraryminify - Web 静态资源压缩(HTML/JS/CSS/JSON)Inflection - Pluralizes and singularizes English nounsautocorrect - 自动给中英文之间加入合理的空格并纠正专用名词大小写bleve - modern text indexingetree - XML 解析&生成feeds - RSS 内容生成gofeed - RSS & Atom feeds 内容解析sitemap - sitemap.xml 生成gogrep - 通过语法树搜索 Go 源码PipeIt - 文本转换,清理和提取工具regexp2 - 全功能正则表达式引擎。如果标准库的 regexp 满足不了你,可以尝试使用 regexp2html2article - 基于文本密度的 html2article 实现hostctl - hosts 命令行管理工具go-shellwords - 解析命令行中字段woke - 检查文本文件中是否存在歧视词汇go-password-validator - 密码强度校验器xurls - 从文本中提取 URL文档swag - Swagger for Gogin-swagger - Swagger for Gingo-swagger - Swagger 2.0 implementation for go数学计算decimal - 解决浮点数计算精度问题fixedapd - decimal 包mathfmt - 将 LaTeX 语法的注释转换为数学公式格式日期时间nowwhen - 自然日期时间解析Carbon - Carbon 时间处理库的 Go 语言实现strftime - 时间格式化配置GoDotEnv - .env 配置文件解析go-yaml/yamlghodss/yamltoml - TOML 解析&编码包INI - INI 配置文件解析Viper - 支持 JSON, TOML, YAML, HCL, Java 等配置文件figMulticonfigconfigorenvconfigconfd - 配置管理工具HCL - configuration languageenv - 解析 ENV 环境变量到结构体中configorkoanfgo-toml - TOMLbutler - Adobe 开源的配置管理系统envsubst - 环境变量替换爬虫Crawlab - 基于Golang的分布式爬虫管理平台,支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架Colly - 网络爬虫框架Pholcus - 支持分布式的高并发、重量级爬虫软件go_spidergoqueryMuffet - 网站链接检查器Creeper数据库数据库相关usql - 几乎支持全部 SQL 与 NoSQL 数据库的命令行工具GORM - GORM V2GORM V1gorm2sql - 根据 Model Struct 生成建表语句XormXormPlus - Xorm 的定制增强版本GoRosesqlx - database/sql 扩展包dbq - 数据库操作gendry - 滴滴开源的SQL BuilderSquirrel - SQL Builderqb - the database toolkit for goredigo - Redis 客户端go-redismgoglobalsign/mgo - The MongoDB driver for Gomgo使用指南amqp - Go client for AMQP 0.9.1kingshard - MySQL ProxySOAR - 对SQL进行优化和改写的自动化工具Vitess - 用于部署、扩展和管理大型MySQL实例集群的数据库解决方案gh-ost - GitHub 开源的在线更改 MySQL 表结构的工具SQLer - write APIs using direct SQL queries with no hassle, let’s rethink about SQLgocraft/dbrGaea - 小米开源的基于 MySQL 协议的数据库中间件OctoSQL - 支持多数据库的 SQL 查询工具goose - 数据库迁移工具migrate - 数据库迁移工具ent - An Entity Framework For Gopingcap/parser - 兼容 MySQL 的 SQL 解析xsqlparser - SQL 解析sqlparser - SQL 解析vitess-sqlparser - SQL 解析godb - a Go query builder and struct mappergo-nulltypego-mysql - MySQL 工具集SQLittle - 纯读取 SQLite 文件Bifrost - MySQL 同步到 Redis、ClickHouse 等服务的异构中间件elasticsql - 转换 SQL 成 Elasticsearch DSL数据库驱动Go-MySQL-Driver - MySQL 驱动go-mssqldb - MSSQL 驱动pq - PostgreSQL 驱动mongo-go-driver - MongoDB 官方出品的 Go 语言驱动clickhouse-go - ClickHouse 官方 Go 语言客户端go-sqlite3 - SQLite3 驱动数据库引擎etcd - KV 分布式存储InfluxDB - 时间序列数据库Prometheus - 服务监控系统 & 时间序列数据库Thanos - 支持 Prometheus 简化部署、高可用、分布式存储CockroachDB - SQL databaseCayley - 图数据库RadonDB - 基于 MySQL 研发的新一代分布式关系型数据库TiDB - 分布式关系型数据库,兼容 MySQL 协议AresDB - Uber 开源的 GPU 驱动的实时分析存储&查询引擎leveldb - LevelDB 的 Go 实现Dgraph - 分布式图数据库rqlite - 基于 SQLite 的轻量级分布式关系数据库gaeadbBadgerDB - KV 数据库LBADD - 用 Go 实现的分布式 SQL 数据库go-memdb - 建立在不可变 Radix 树上的内存数据库VectorSQL - 应用于 IoT 和大数据的 DBMS 数据库,类似于 ClickHouseBuntDB - 基于内存的KV数据库,支持磁盘持久化、ACID事务TinySQL - 迷你分布式关系型数据库groupcache - 分布式缓存Tile38 - GEO 数据库Redcon - 兼容 Redis 协议的自定义 Redis 服务,采用 BuntDB 和 Tile38 实现存储genji - 文档内嵌型数据库搜索wukong - 全文搜索引擎go-elasticsearch - 官方 ES 客户端elastic - Elasticsearch 客户端go-mysql-elasticsearch - Sync MySQL data into elasticsearchgse - Go 语言分词sego - Go 中文分词gojieba - “结巴"中文分词的 Go 语言版本Riot - 全文搜索引擎simplefts - 超简单的全文搜索引擎实现表单validatorgo-tagexpr - 字节跳动开源的结构体标签表达式解释器schema - converts structs to and from form valuesAuthCasbin - 权限控制管理pam-ussh - Uber’s SSH certificate pam modulejwt-go - JWT for Gojwt - JWT 轻量级实现sessions - 后端 SESSION 服务securecookie - cookie 加密/解密Goth - Multi-Provider Authentication for Gobranca - 号称比 JWT 更安全的 token 解决方案缓存GCachebbolt - key/value storeBigCachego-cache - KV 内存缓存gomemcache - Memcache 客户端cache2go视频goav - FFmpeg 视频处理lal - 直播流媒体网络传输服务器bililive-go - 直播录制工具screego - 通过浏览器共享开发者屏幕图形处理barcode - 条形码/二维码生成器picfit - 图片操作、裁剪、管理服务器gmfs - 图片操作、裁剪、管理服务器besticon - favicon 服务Caire - 图片操作库Imaging - 图片操作库gocaptcha - 验证码生成base64Captcha - 验证码go-is-svg - 校验是否为 SVG 图片identicon - 根据用户的 IP 、邮箱名等任意数据为用户产生漂亮的随机头像prominentcolor - 识别图片的主要颜色dchest/captcha - 生成和验证图片或音频验证码bimg - 图片处理imaginary - 图片处理服务primitive - 用原始几何图形绘制图形orly - 生成你自己的O’RLY动物书封面图片识别go-face - 面部识别图表go-echarts - Echarts 图表库gonum/plot - 图形绘制pinhole - 3D 线框图绘制globe - 地球线框图绘制ink - Go 中的 2D 图形框架go-plantuml - 基于 Go 源码生成 plantuml 图go-diagrams - 通过代码生成图表构建编译Mage - a Make/rake-like build tool using GoGoReleaser - Go 多平台二进制文件打包、并支持发布到 Homebrew 的工具goxc - 跨平台编译工具(因 1.5 版本开始已自带交叉编译,故已不再维护)Task - 类似于 Make 的构建工具codegangsta/gin - 热编译工具Air - 热编译工具gowatch - 热编译工具Fresh - 热编译工具dh-make-golang - 自动构建 Debian 包pkger - 将静态文件打包成 Go 二进制文件mewn - 静态文件嵌入打包到二进制文件gobinaries - 不用安装Go就能编译安装Go编写的程序NFPM - deb、rpm、apk 等打包工具优雅升级tableflip - Web 服务升级selfupdate - 二进制文件自动升级代码分析reviewdog - Code Review 机器人revive - 代码检查分析GolangCI-Lint - 代码质量检查分析工具errcheck - 检测未处理的错误(errors)Staticcheck - 一系列的 Go 代码静态分析工具Golint - Google 官方出品的代码质量检测工具GoReportergo-criticgocloc - 分语言代码行数统计coca - 代码统计分析Go Report Card - Go 项目质量分析报告工具ddsv-go - 死锁检测工具golang/perf - 官方性能量化分析工具GoPlantUML - 为 Go 项目生成 PlantUML 类图gosize - 分析Go二进制文件大小shotizam - 分析 Go 二进制文件的大小并输出到 SQLite3goconst - 查找可以被常量替换的重复字符串sploit - 帮助二进制分析和开发的库调试go-spew - 变量打印工具Delve - Debug 工具gdlv - Delve 界面版本repr - 变量打印工具pp - 彩色变量打印工具ffmt - 变量打印工具gops - 谷歌官方出品的 Go 程序监控调试工具pprofgo-callvis - 可视化Go程序的调用图q - 自动打印变量类型并且格式化输出LitterRDebug - 滴滴开源的一款用于 RD 研发、自测、调试的实用工具debugcharts - Go 内存占用可视化调试工具gcvis - 实时可视化 gctracepkg/profilestatsviz - 在浏览器中实时查看 Go 应用程序运行时统计信息(GC,MemStats 等)测试GoConvey - 含Web界面的单元测试框架GoMock - 谷歌出品的Mock测试框架GoStubMonkeySuperMonkey - 让私有方法可测Ginkgo - BBD 测试框架fperf - 压测工具gocheckTestifygotests - 根据源码自动生成测试文件TestSQL - 根据 SQL 创建语句生成测试数据httpmock - HTTP MockGoblin - BDD 测试框架bxcodec/faker - Struct Data Fake Generatorgofakeit - 随机数据生成器dmgk/fakergo-tprof - 包测试报告生成工具go-fuzz - randomized testing for Gogofight - Testing API Handlersqlmock - SQL 测试silk - 基于 Markdown 的接口测试gock - HTTP mock 测试godog - BDD 测试框架 Cucumber 的 Go 版本endly - E2E(端到端)测试is - 迷你测试框架Terratest - 基础设施测试,比如 Dockeragouti - Web 驱动的验收测试框架httpexpect - 端到端 HTTP & REST 测试框架gocov - 测试覆盖率miniredis - Redis 数据测试htmltest - HTML 测试gnomock - 无需 mock 的 Go 代码测试框架gunit - xUnit 风格测试框架错误处理errorserrorxerrwrap - Go tool to wrap and fix errors with the new %w
创建帐户或登录后发表意见