Giter Club home page Giter Club logo

go-awesome's Introduction

go-awesome

Go 语言优秀资源整理,为项目落地加速🏃

GitHub 上稳定更新,觉得不错请点个 Star ❤️

如转载分享,请保留出处,谢谢 😆

原文地址: https://shockerli.net/post/go-awesome

GitHub: https://github.com/shockerli/go-awesome


官网: https://golang.org

国内官网镜像(访问快): https://golang.google.cn

GitHub: https://github.com/golang/go

开发者平台: https://go.dev

Wiki: https://github.com/golang/go/wiki

官方博客: https://blog.golang.org

指导原则

  • 简单性

    复杂性把可读的程序变得不可读,复杂性终结了很多软件项目。

  • 可读性

    代码是给人看的,代码阅读时长远超编写。程序必须可维护,那可读是第一步。

  • 生产率

    拥有众多的工具集和基础库,可以很简单方便的完成绝大多数工作。 编译速度足够快,拥有动态语言的高效,但却不会面临动态语言不可靠的问题。 自带编程规范,使得团队代码一致,也帮助开发者发现和避免潜在的错误。

Awesome

大牛/组织

Go 语言方面的大牛,或者优秀 Go 项目的组织

大牛

组织

文档

指南

文章

付费教程

成品项目

  • Shiori - 书签管理
  • studygolang - Go 语言中文网
  • mkcert - 生成本地 HTTPS 加密证书的工具
  • cfssl - Cloudflare 开源的 PKI 和 TLS 工具集
  • Rainbond - 基于Docker、Kubernetes等容器技术的开源PaaS
  • NYADB2 - Go 实现的关系型数据库, 值得用于学习
  • EiBlog - 博客
  • pan-light - 不限速的百度网盘客户端, 基于 Go + Qt5 开发
  • BaiduPCS-Go - 百度网盘客户端(命令行)
  • daily-warm - 每天定时发邮件给你关心的人
  • pipe - 博客平台
  • mdr - 命令行下的 Markdown 阅读工具
  • miniflux - Feed 阅读器
  • golinks - 创建自定义书签、命令、搜索等
  • 链滴笔记 - 桌面端笔记应用
  • wayback - 网页快照备份
  • bbs-go - 开源社区
  • OpenSCRM - 基于Go和React的企业微信私域流量管理系统
  • Answer - 问答社区
  • listmonk - 资讯、邮件列表管理工具(Web)
  • 1Panel - Linux 服务器运维管理面板

静态网站生成器

学习项目

  • 1m-go-websockets - 该项目演示了如何用 Go 编写一个可以提供超过一百万个 websockets 连接、运行内存小于 1GB 的服务器
  • Go by Example - 通过实例学习 Go
  • IAM - 身份识别与访问管理系统(教学项目)
  • 100-go-mistakes - 100 个 Go 常见错误

开源类库

Web 框架

业务框架

  • YAO - 使用 JSON 即可创建数据库模型、编写 API 接口、描述管理后台界面的应用引擎
  • GoAdminGroup/go-admin - 后台管理快速开发框架,与 laravel-admin 类似
  • wenjianzhang/go-admin - 基于 Gin + Vue 实现的后台框架
  • gin-vue-admin - 基于 Gin + Vue 实现的后台框架
  • goxygen - 基于 Go, React, MongoDB 技术实现的全栈应用生成器
  • nging - Go语言通用后台管理框架
  • snake - 业务API框架
  • PocketBase - 带有后台管理面板、文件和权限管理、集成 SQLite 数据库的单一文件后端服务开发框架,支持 Dart 和 JS SDK 快速开发 APP
  • DoTenX - 低代码框架

项目骨架

DDD 框架

TCP 框架

  • zinx - TCP并发服务器框架

中间件

  • Negroni - Web 中间件
  • csrf - CSRF 中间件
  • handlers - A collection of useful handlers for Go's net/http package

并发

命令行

参数解析

输出展示

  • progressbar - 在终端上输出进度条
  • cheggaaa/pb - 终端进度条
  • mpb - 支持多个进度条
  • Color - 命令行文字颜色
  • gookit/color - 命令行色彩使用库
  • termui - 终端仪表盘
  • tui - 终端 UI
  • termenv - 终端应用程序的高级 ANSI 样式和颜色支持
  • asciigraph - 在终端中绘制 ASCII 字符的图表
  • spinner - 涵盖70多种符号或进度条的控制器
  • tablewriter - 终端中输出表格内容
  • PIXterm - 在命令行终端中绘图
  • WTF - 一个命令行的信息仪表盘,可以定制显示内容
  • termdash - 基于 Go Terminal 的仪表板系统
  • bubbles - TUI 组件
  • bubbletea - TUI 框架
  • PTerm - 支持图表、表格、进度条、树等终端输出展示
  • Lip Gloss - 终端布局、样式
  • gum
  • glow - 终端渲染展示 Markdown
  • Slides - 终端渲染展示 Markdown
  • tview - Terminal UI
  • ASCIIPlayer - 在终端中通过 ASCII 输出图片或视频,支持 png、jpeg、gif、mp4、avi 等格式
  • go-pretty - 终端渲染表格、列表、进度条等
  • tcell

其他

  • gosu - 以指定的用户权限来运行脚本
  • gotop - 类 top 系统监控显示
  • go-colorable - Colorable writer for Windows
  • go-isatty - TTY 环境判断
  • fzf - 终端模糊查询神器,支持多平台
  • go-daemon - daemon 进程包
  • go-prompt - 命令行交互式输入
  • peco - 交互式过滤工具
  • pty - PTY for Go
  • vtclean - 从终端输出字符串中解析出纯文本
  • Survey - 交互式输入

终端工具

  • vgrep - 支持滚动分页的 grep
  • GoTTY - 基于Web的命令行实时共享
  • Jump - 根据习惯快速跳转目录
  • GoFish - 一个受 Homebrew 启发的跨平台软件管理工具,支持 Linux 和 Windows
  • viddy - 增强版 watch 命令
  • miller - 一个类似 sed、awk、cut、join 和 sort 的工具,用来处理基于命名索引的数据
  • assh - SSH 增强工具
  • duf - 比 df 更好用的磁盘使用率工具
  • ov - 终端文本阅读器,可替代 lessmoretail -f
  • trdsql - 可对 CSV/LTSV/JSON/TBLN 等文件执行 SQL 查询和导出

路由

网络

  • DNS - DNS 库
  • CoreDNS - DNS 服务器
  • RoadRunner - PHP 应用服务器、进程管理器、负载均衡,用于替代 Nginx + FPM
  • FrankenPHP - PHP 应用服务器
  • GoReplay - 流量收集&回放
  • Sharingan - 滴滴开源的流量录制回放工具
  • Glorp - HTTP 拦截&重放的 CLI 工具
  • p2pspider - 种子嗅探器
  • torrent - BitTorrent 相关工具库
  • rain - BitTorrent 客户端和库
  • httpteleport - Teleports 10Gbps http traffic over 1Gbps networks
  • FIND3 - WiFi 设备发现
  • SubFinder - 子域名发现工具
  • ggz - 短网址服务
  • httpstat
  • grab - 文件下载
  • go-getter - 可使用 URL 作为输入的主要形式从各种来源下载文件或目录
  • go-netty - 网络框架
  • gnet - 事件驱动 Go 网络框架
  • netpoll - 专注于 RPC 场景的 Non-blocking I/O 网络库
  • httplab - The interactive web server
  • yamux - Multiplexer
  • sftp - SFTP support for the go.crypto/ssh package
  • goftp - FTP 客户端
  • evio - 事件驱动网络框架(reactor 模式)
  • gaio - 事件驱动网络框架(proactor 模式)
  • httpretty - 在终端上漂亮地打印出 HTTP 请求
  • blocky - 作为局域网 DNS 代理拦截广告
  • lossy - 模拟 net.PacketConn 和 net.Conn 接口的带宽,延迟和数据包丢失
  • go-libp2p - P2P
  • go-ipfs-api - IPFS
  • gomobile-ipfs - 为移动终端提供IPFS网络访问支持
  • go-multiaddr - multiaddr
  • kcp-go - 可靠的 UDP 通讯包
  • gliderlabs/ssh - 像 net/http 一样轻松搭建 SSH 服务器
  • netaddr - 网络地址处理
  • sx - 网络扫描命令工具
  • echoip - IP 地址查找服务
  • EasyTCP - TCP Server 框架
  • GoPacket - 网络捕获抓包
  • croc - 两台电脑之间传输文件
  • cmux - 监听同一个端口,启动多种协议服务
  • GeoIP2 Reader for Go - 解析&读取 MaxMind GeoLite2 和 GeoIP2 数据库
  • dns.toys - DNS 服务器
  • Apache Traffic Control - CDN 流量控制

LDAP

网络代理

  • Caddy - 类似 Nginx 的 Web 服务器
  • Traefik - 反向代理&负载均衡
  • snail007/goproxy - golang 实现的高性能代理服务器
  • ProxyPool - 采集免费的代理资源为爬虫提供有效的IP代理
  • frp - 可用于内网穿透的高性能的反向代理应用
  • nps - 一款轻量级、高性能、功能强大的内网穿透代理服务器
  • Pomerium - 基于身份的反向代理
  • V2Ray
  • V2Fly - V2Ray 的社区版本
  • Tailscale - WireGuard 解决方案
  • Clash - 支持多种协议的多平台代理客户端
  • elazarl/goproxy - HTTP 代理
  • oxy - Go middlewares for HTTP servers & proxies
  • ouqiang/goproxy - Go HTTP(S)代理库, 支持中间人代理解密HTTPS
  • pgrok - 提供给穷人的内网穿透

HTTP压测

HTTP

WebSocket

即时通信

  • Centrifugo - 实时消息服务器,可以与任何语言编写的应用程序后端结合使用
  • goim - 支持集群的 im 及实时推送服务
  • Tinode - 即时消息服务器,通过 websocket/JSON 或 gRPC/TCP 等协议传输
  • WebRTC - WebRTC 实现
  • Berty - 安全的点对点通讯软件
  • Keybase - 即时通讯工具 Keybase 全平台客户端
  • gotify - 基于 WebSocket 的 PUSH 通知服务
  • nakama - 用于社交/实时游戏/实时应用的分布式服务端程序,自带面板、用户、聊天、存储、社交等功能

网关

序列化

  • vmihailenco/msgpack - 支持 msgpack
  • go/codec - 支持 msgpack/binc/cbor/json
  • golang/protobuf - Go 版本的 Protocol Buffers
  • gogo/protobuf - golang/protobuf 的扩展替代品
  • Objx - 操作 map, slice, JSON 等数据的包
  • msgp - MessagePack 代码生成器
  • Buf - protoc 替代品
  • protoc-gen-doc - Google Protocol Buffers 文档生成插件,支持 HTML、JSON、DocBook、Markdown 和自定义模板

解压缩

  • snappy - Go 语言版本的 Snappy
  • cae - 实现 ZIP/TAR.GZ 解压缩
  • archiver - 多格式支持的解压缩包
  • compress - Optimized compression packages
  • Brotli
  • xz - xz 压缩格式读写包

RPC

邮件

消息队列

  • NSQ - 实时分布式消息平台
  • NATS - 云原生消息中间件
  • amqp - AMQP 0.9.1 客户端
  • sarama - Kafka 客户端

文件/存储

模板引擎

代码生成

文本处理

Markdown

HTML/CSS

其他

文档

数学计算

  • decimal - 解决浮点数计算精度问题
  • fixed
  • apd - decimal 包
  • mathfmt - 将 LaTeX 语法的注释转换为数学公式格式
  • q - 量子计算模拟器

日期时间

  • now
  • when - 自然日期时间解析
  • Carbon - Carbon 时间处理库的 Go 语言实现
  • strftime - 时间格式化
  • dateparse - 解析任意未知格式的时间字符串

配置

爬虫

  • Crawlab - 基于Golang的分布式爬虫管理平台,支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架
  • Colly - 网络爬虫框架
  • Pholcus - 支持分布式的高并发、重量级爬虫软件
  • go_spider
  • Muffet - 网站链接检查器
  • Creeper
  • Geziyor - 支持 JS 渲染的快速爬虫框架
  • Apollo - 一个爬虫工具
  • ferret - 声明式 Web 数据抓取
  • gocrawl
  • Antch
  • katana - 爬虫&蜘蛛框架

数据库

SQL解析

分布式事务

  • go-saga - Saga 分布式事务实现
  • DTM - 跨语言的分布式事务管理服务,支持TCC、Saga、XA等

数据库相关

  • usql - 几乎支持全部 SQL 与 NoSQL 数据库的命令行工具
  • GORM - GORM V2
    • GORM V1
    • gorm2sql - 根据 Model Struct 生成建表语句
    • gorm-sharding - 基于 Conn 层做 SQL 拦截、AST 解析、分表路由、自增主键填充,对使用者透明
  • Xorm
  • XormPlus - Xorm 的定制增强版本
  • GoRose
  • sqlx - database/sql 扩展包
  • dbq - 数据库操作
  • gendry - 滴滴开源的SQL Builder
  • ozzo-dbx
  • Squirrel - Fluent SQL Builder
  • qb - the database toolkit for go
  • mgo
  • kingshard - MySQL Proxy
  • SOAR - 对SQL进行优化和改写的自动化工具
  • SQLE - SQL 审核工具
  • Vitess - 用于部署、扩展和管理大型MySQL实例集群的数据库解决方案
  • gh-ost - GitHub 开源的在线更改 MySQL 表结构的工具
  • SQLer - write APIs using direct SQL queries with no hassle, let's rethink about SQL
  • gocraft/dbr
  • Gaea - 小米开源的基于 MySQL 协议的数据库中间件
  • OctoSQL - 支持多数据库的 SQL 查询工具
  • goose - 数据库迁移工具
  • migrate - 数据库迁移工具
  • dbmate - 数据库迁移工具
  • ent - An Entity Framework For Go
  • godb - a Go query builder and struct mapper
  • go-nulltype
  • go-mysql - MySQL 工具集
  • SQLittle - 纯读取 SQLite 文件
  • Bifrost - MySQL 同步到 Redis、ClickHouse 等服务的异构中间件
  • elasticsql - 转换 SQL 成 Elasticsearch DSL
  • POP - 基于 sqlx 封装的数据库 ORM 工具
  • REL - Modern Database Access Layer for Go
  • RDB - Redis RDB 文件解析和生成工具,支持转 JSON、转 AOF、寻找 Big Key、生成 RDB 文件及绘制内存火焰图等功能
  • Bytebase - 基于网络、零配置、无依赖的数据库 Schema 变更和版本控制管理工具

数据库客户端

数据库引擎

  • etcd - KV 分布式存储
  • InfluxDB - 时间序列数据库
  • Prometheus - 服务监控系统 & 时间序列数据库
  • tstorage - 时间序列数据库
  • Thanos - 支持 Prometheus 简化部署、高可用、分布式存储
  • CockroachDB - 分布式 SQL 数据库
  • Cayley - 图数据库
  • RadonDB - 基于 MySQL 研发的新一代分布式关系型数据库
  • TiDB - 分布式关系型数据库,兼容 MySQL 协议
  • AresDB - Uber 开源的 GPU 驱动的实时分析存储&查询引擎
  • leveldb - LevelDB 的 Go 实现
  • Dgraph - 分布式图数据库
  • rqlite - 基于 SQLite 的轻量级分布式关系数据库
  • gaeadb
  • BadgerDB - KV 数据库,支持 ACID 事务
  • LBADD - 用 Go 实现的分布式 SQL 数据库
  • go-memdb - 建立在不可变 Radix 树上的内存数据库
  • VectorSQL - 应用于 IoT 和大数据的 DBMS 数据库,类似于 ClickHouse
  • BuntDB - 基于内存的KV数据库,支持磁盘持久化、ACID事务
  • TinySQL - 迷你分布式关系型数据库
  • Tile38 - GEO 数据库
  • Redcon - 兼容 Redis 协议的自定义 Redis 服务,采用 BuntDB 和 Tile38 实现存储
  • genji - 文档内嵌型数据库
  • Dolt - 像 Git 一样操作数据库
  • rosedb - 简洁、高效的 KV 数据库,支持多种数据结构
  • LinDB - 分布式时序数据库
  • mandodb - 一个示例项目,作者介绍如何从零开始实现一个小型的时序数据库
  • go-mysql-server - 解析 MySQL 协议并优化 SQL 的数据库引擎
  • Milvus - 向量数据库
  • FerretDB - MangoDB 替代品
  • LotusDB - 快速 KV 存储引擎,兼容 LSM 和 B+ 树
  • NutsDB - 可持久化、事务的内嵌 KV 数据库
  • Olric

缓存

搜索推荐

表单

Auth

加密/解密

  • 2fa - Two-factor authentication on the command line
  • age - 文件加密工具(库)
  • CIRCL - Cloudflare Interoperable, Reusable Cryptographic Library

视频

  • goav - FFmpeg 视频处理
  • lal - 直播流媒体网络传输服务器
  • bililive-go - 直播录制工具
  • screego - 通过浏览器共享开发者屏幕
  • livego - 直播服务器
  • Monibuca - 流媒体服务器开发框架
  • olive - 支持虎牙等平台的直播录制

图形处理

  • barcode - 条形码/二维码生成器
  • picfit - 图片操作、裁剪、管理服务器
  • gmfs - 图片操作、裁剪、管理服务器
  • besticon - favicon 服务
  • Caire - 图片操作库
  • Imaging - 图片操作库
  • gocaptcha - 验证码生成
  • base64Captcha - 验证码
  • go-is-svg - 校验是否为 SVG 图片
  • identicon - 根据用户的 IP 、邮箱名等任意数据为用户产生漂亮的随机头像
  • prominentcolor - 识别图片的主要颜色
  • dchest/captcha - 生成和验证图片或音频验证码
  • bimg - 图片处理
  • imaginary - 图片处理服务
  • primitive - 用原始几何图形绘制图形
  • orly - 生成你自己的O'RLY动物书封面
  • smartcrop - 智能裁剪图片
  • gift - 图片滤镜
  • Germanium - 给代码生成图片
  • Go Graphics - 2D 图片渲染
  • canvas - 矢量图绘制
  • formulae - 数学公式解析、计算、图表绘制
  • imagor - 图像处理服务器
  • Triangula - 给图片增加三角形纹样风格的滤镜
  • D2 - 一种将文本转换成图形的图表脚本语言
  • ImGo - 简洁、链式调用的图像处理库

图片识别

图表

构建编译

  • Mage - 类似于 Makefile 的命令行工具,用于构建和运行 Go 项目
  • GoReleaser - Go 多平台二进制文件打包、并支持发布到 Homebrew 的工具
  • goxc - 跨平台编译工具(因 1.5 版本开始已自带交叉编译,故已不再维护)
  • Task - 类似于 Make 的构建工具
  • codegangsta/gin - 热编译工具
  • Air - 热编译工具
  • gowatch - 热编译工具
  • Fresh - 热编译工具
  • dh-make-golang - 自动构建 Debian 包
  • gobinaries - 不用安装Go就能编译安装Go编写的程序
  • nFPM - deb、rpm、apk 等打包工具
  • Gox - Go 跨端编译工具
  • garble - 混淆代码
  • gobfuscate - 混淆代码
  • go-appimage - Go 语言实现 AppImage 打包工具

静态资源内嵌

  • pkger - 将静态文件打包成 Go 二进制文件
  • mewn - 静态文件嵌入打包到二进制文件
  • statik - 静态文件嵌入
  • go.rice
  • go-bindata - 将静态文件转换成 Go 代码文件
  • vfsgen - 将静态文件打包成 http.FileSystem 类型进行访问
  • packr

优雅升级

代码分析

  • reviewdog - Code Review 机器人
  • revive - 代码检查分析
  • GolangCI-Lint - 代码质量检查分析工具
  • errcheck - 检测未处理的错误(errors)
  • Staticcheck - 一系列的 Go 代码静态分析工具
  • Golint - Google 官方出品的代码质量检测工具
  • GoReporter
  • go-critic
  • gocloc - 分语言代码行数统计
  • coca - 代码统计分析
  • Go Report Card - Go 项目质量分析报告工具
  • ddsv-go - 死锁检测工具
  • golang/perf - 官方性能量化分析工具
  • GoPlantUML - 为 Go 项目生成 PlantUML 类图
  • gosize - 分析Go二进制文件大小
  • shotizam - 分析 Go 二进制文件的大小并输出到 SQLite3
  • goconst - 查找可以被常量替换的重复字符串
  • sploit - 帮助二进制分析和开发的库
  • perf - Perf Utilities for Go
  • fgprof - Go 性能分析工具
  • conprof - 协程分析
  • statsview - 实时 Go 运行时统计数据可视化分析器
  • codesearch - 代码搜索工具
  • Pyroscope - 可视化程序性能监控工具,支持多种语言
  • gosec - 代码安全性检查工具
  • gokart - 代码静态分析工具
  • gofumpt - gofmt 增强版代码格式化工具
  • NoVerify - PHP 代码分析工具
  • fieldalignment - 结构体字段内存对齐分析和自动修复工具

调试

  • go-spew - 变量打印工具
  • Delve - Debug 工具
  • gdlv - Delve 界面版本
  • Weaver - 跟踪 Go 程序执行链路
  • repr - 变量打印工具
  • pp - 彩色变量打印工具
  • ffmt - 变量打印工具
  • gops - 谷歌官方出品的 Go 程序监控调试工具
  • pprof
  • go-callvis - 可视化Go程序的调用图
  • q - 自动打印变量类型并且格式化输出
  • Litter
  • RDebug - 滴滴开源的一款用于 RD 研发、自测、调试的实用工具
  • debugcharts - Go 内存占用可视化调试工具
  • gcvis - 实时可视化 gctrace
  • pkg/profile
  • statsviz - 在浏览器中实时查看 Go 应用程序运行时统计信息(GC,MemStats 等)
  • autopprof - 自动分析 pprof
  • stack - 捕获、操作、格式化调用栈信息
  • pretty - 打印变量
  • go-deadlock - 对 (RW)Mutex 进行注入,并提供死锁检测
  • mmcloughlin/profile
  • gcnotifier - 当发生 GC 时通知
  • grmon - 命令行监控显示 goroutines
  • valast - 打印输出变量的 go/ast 结构,类似于 PHP 的 var_export 函数
  • lensm - Go 汇编与源码对照查看工具
  • holmes - 基于规则的自动 Go Profile Dumper

测试

错误处理

  • errors
  • errorx
  • errwrap - Go tool to wrap and fix errors with the new %w verb directive
  • erris - Linter for errors.Is and errors.As
  • eris - 旨在通过错误包装,堆栈跟踪和输出格式为你提供对错误处理的更多控制
  • errlog - 使用静态和堆栈跟踪分析来快速确定哪个函数调用导致的错误
  • juju/errors
  • go-fault - GitHub 官方出品,基于标准库 http 中间件的故障注入库
  • merry - 支持堆栈、状态码的错误处理
  • cockroachdb/errors - 功能强大、可替代 errorsgithub.com/pkg/errors 的错误处理包
  • go-multierror - 支持错误列表

安全

  • Kunpeng - 开源POC检测框架
  • nmap - 安全审计工具 nmap 开发包
  • Hetty - 用于安全研究的 HTTP 工具包,具有 Web 接口和代理日志查看器的拦截 HTTP 代理
  • Fibratus - Windows 内核漏洞利用和跟踪工具
  • Secure - HTTP 安全中间件

系统信息

UUID

日志

监控告警

  • OpenFalcon - 小米开源的监控系统
  • Prometheus - 服务监控系统 & 时间序列数据库
  • Grafana - 分析监视平台, 支持 Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB 等数据源
    • grabana - 用 Go 代码快速创建 grafana dashboards
  • Jaeger - 分布式追踪系统
  • go-osstat - 系统指标统计
  • grafterm - Metrics dashboards on terminal
  • mymon - MySQL 运行监控
  • PingMe - 支持多消息平台的服务可用性报警命令工具
  • supervisord - Go 语言实现 Supervisor
  • Grafana Tempo - 分布式追踪系统
  • EaseProbe - 服务探活工具并通知

统计分析

  • Fathom - Web 站点统计
  • Veneur - 分布式实时数据处理管道
  • gonum - 科学计算相关

容器技术

  • moby - Docker
  • docker-ce
  • Rancher - 全栈化企业级容器管理平台
  • Gorsair
  • docui - TUI Client for Docker
  • Podman - 管理和运行任何符合 OCI 规范的容器和容器镜像
  • Skopeo - 镜像管理工具
  • Buildah - 构建 OCI 容器镜像的工具
  • go-docker - 用 Go 实现 Docker 核心功能
  • Packer - 轻量级的镜像定义工具
  • cosign - 容器签名和验证

集群管理

Kubernetes

  • kubernetes - 容器调度管理平台
  • k0s - 最小体积的 k8s 发行版
  • sealos - 一条命令部署 Kubernetes 高可用集群
  • KubeEye - 通过配置规则发现 Kubernetes 上的各种问题
  • endpoints-operator - K8S内部服务访问外部服务的具备探活功能的4层LB

机器学习

  • goml - 机器学习库
  • GoLearn - 一个 "开箱即用" 的机器学习库
  • glow - 易用的分布式计算系统
  • Gobot - 机器人和物理计算语言库
  • Olivia - 神经网络
  • Pico - 基于像素强度比较的物体检测纸张的纯 Go 脸部检测库
  • tfgo - Tensorflow in Go
  • Prophecis - 微众银行自研的一站式云原生机器学习平台
  • AID - 机器学习ops平台,发现、部署、优化
  • SQLFlow - SQL引擎+AI引擎

人工智能

  • go-openai - OpenAI API Go 客户端 SDK
  • LocalAI - 低成本的硬件上运行模型计算的本地计算框架,支持多种模型,提供兼容 OpenAI 接口协议的 REST API

算法

数据结构

依赖注入

JSON

  • GJSON - JSON 解释器
  • SJSON - JSON 修改工具
  • fastjson - fast JSON parser and validator for Go
  • jsonparser
  • ffjson
  • json-iterator - 滴滴开源的 JSON 解析器
  • gojsonq - JSON/YAML/XML/CSV 等数据查询
  • easyjson
  • go-jsonc - 将带注释的 JSON 转为无注释的
  • jin - JSON 操作工具包,同时具有标准库和类似 tidwall/gjsontidwall/sjson 的功能
  • hujson - 支持注释的 JSON 解码
  • pkg/json - JSON Decoder
  • ColorJSON - 终端中打印彩色 JSON
  • jid - JSON 数据解析读取工具
  • jsonc - 支持注释与逗号
  • sonic - 字节跳动开源的 JSON 解析器&修改器
  • go-json
  • jsonquery - XPath 语法查询 JSON
  • fx - 命令行 JSON 显示

依赖管理

微服务

Serverless

  • OpenFaaS - Serverless Functions Made Simple(功能服务化的 FaaS 框架)
  • faasd - 轻量级 FaaS 引擎
  • fn - 事件驱动的 FaaS
  • riff - 基于 Kubernetes 的 FaaS
  • Nuclio - 实时事件与数据的 Serverless 框架
  • Flogo - 事件驱动的 Serverless 框架
  • Dapr - 微软开源的云和边缘计算的微服务构件
  • kubeless
  • Fission - 基于 Kubernetes 的 Serverless
  • pulumi
  • Knative
  • fx
  • IronFunctions
  • schollz/faas - 让任何包的函数变成一个 HTTP 接口

devops

持续集成/部署

  • CDS - 持续集成服务
  • gopub
  • CodePub
  • syncd - 代码部署工具
  • Drone - 基于 Docker 的持续发布平台
  • Cyclone - 持续集成&发布平台
  • tbls - 用于记录数据库文档的 CI 友好工具
  • Woodpecker - Fork 自 Drone
  • Dagger - 基于容器的 CI/CD 工具

Git

  • gogs - 类似于 GitLab 的 Git 服务器
  • Gitea - 由 gogs 分叉出的 Git 服务器
  • go-git - Go 实现的 Git 操作
  • gitin - commit/branch/status explorer for git
  • hub - GitHub 命令行工具
  • git-o-matic - 一个监控 Git 仓库变化和自动 pull/push 的工具
  • gitbase - SQL 的方式查询 Git 日志
  • git-chglog - CHANGELOG 管理工具
  • chglog - CHANGELOG 管理工具
  • lazyhub - GitHub 的终端 UI 客户端
  • goaction - 在 Go 中编写 GitHub Action
  • bit - Git 命令增强版,支持文件和分支名称自动完成、命令和标志建议
  • go-github - GitHub API 操作库
  • askgit - 通过 SQL 访问 Git 仓库信息
  • git2graph - 根据 Git 仓库提交记录生成结构图
  • lazygit - Git 终端 UI
  • gh-dash - GitHub CLI(gh)漂亮终端面板

限流器

编译器

  • TinyGo - 一个适用于微控制器、WebAssembly 和命令行工具的 Go 编译器
  • minigo - A Go compiler from scratch
  • llir/llvm - LLVM 编译器
  • jit-compiler - JIT 编译器
  • Go+ - 七牛云开源面向数据科学的语言,完全兼容Go语言

解释器

语言解释器

  • participle - 通用的自定义语法解析包
  • GopherLua - VM and compiler for Lua in Go
  • go-lua - A Lua VM in pure Go
  • DCLua - Go Lua Compiler and VM
  • otto - JavaScript 解释器
  • goja - ECMAScript 5.1(+) 实现
  • v8go - Execute JavaScript from Go
  • gpython - Python Interpreter on Go
  • Grumpy - 转换 Python 为 Go 代码,谷歌开源
  • starlark-go - Starlark in Go
  • avo - x86 汇编程序构建器
  • wagon - WebAssembly 解释器
  • GopherJS - 把 Go 代码编译成 JavaScript 代码
  • Yaegi - Go 语言解释器
  • properties - Java properties scanner for Go
  • jvm.go - JVM
  • gobasic - A BASIC interpreter written in golang
  • golisp - Lisp 解释器
  • dst - Go Decorated Syntax Tree
  • mvdan/sh - Shell 解析、格式化、接口
  • tdewolff/parse - 通用词法分析器 Lexer,并内置支持解析 HTML/CSS/JSON/XML/JS/SVG 语法
  • Joker - Clojure

PHP

自定义解释器

  • CUE - Configure Unify Execute(Validate and define text-based and dynamic configuration)
  • cel-go - Common Expression Language(CEL 的 Go 实现)
  • Math-Engine - 使用 Go 实现的数学表达式解析计算引擎库,学习语法解析很适用
  • Gval - 表达式计算
  • expression-parsing
  • goexp - Recursive descent expression parser in Go
  • goastch - Go AST 语法解析
  • tdop
  • swallow
  • Anko
  • Expr - 编译&执行字符串中的表达式
  • Tengo - 用 Go 编写的脚本语言
  • V - Go 编写的语言
  • kumarUjjawal/bison
  • Monkey
  • govaluate
  • Compiler - 将自定义语法代码编译成 X86-64 Assembly
  • elvish - 交互式 Shell 语言
  • QLBridge - Go SQL Runtime Engine
  • YQL - SQL WHERE 风格的规则引擎
  • Flux - InfluxDB 数据语言
  • Spiker - Go 编写的简单规则表达式执行器,支持自定义函数和流程控制,适用于业务规则复杂的场景

代码生成

编辑器

运行器

  • gore - 在线运行 Go 代码
  • nodebook - 在线运行多种语言
  • go-pry - 像 Python、R、PHP 等在终端交互式输入与运行 Go 代码

查询语言

  • graphql - Go 实现的 GraphQL
  • graphql-go
  • GQLEngine - 基于 graphql-go 实现
  • RQL - REST 资源查询语言
  • Thunder - GraphQL 服务构建框架
  • gqlgen - 构建 GraphQL 服务器的包
  • super-graph - 无需编写代码即可在 Go 项目中构建复杂的 GraphQL API

游戏相关

桌面开发

GUI

  • Lorca - 用 Go 编写 HTML5 桌面程序,依赖 Chrome 进行 UI 渲染,但却不把 Chrome 打包到应用中
  • webview - 用 Go/C/C++ 构建跨平台的桌面软件
  • walk - Windows GUI toolkit
  • go-gtk - Go bindings for GTK
  • andlabs/ui - Platform-native GUI library for Go
  • fyne - Material Design 风格的 GUI
  • go-gl - Go bindings for OpenGL (generated via glow)
  • therecipe/qt - 基于 Qt 的跨全平台 UI 包
  • giu - 基于 Dear ImGui 的跨平台 GUI 框架
  • go-app - 一个 WebAssembly 框架,用于使用 Go,HTML 和 CSS 构建 GUI 应用
  • wails - 使用 Go 和 Web 技术创建桌面应用程序
  • chromedp - 纯 Go 语言实现的驱动浏览器的 Chrome DevTools Protocol,可用于爬虫、反爬虫、测试等场景
  • Rod - 一个为简化自动化和爬虫设计的 devtools driver,利用浏览器的 devtools 可编程接口来操控浏览器
  • go-astilectron - 基于 Electron 的跨平台开发
  • Gio - 跨平台 UI 框架,支持移动应用
  • nucular - 基于 Gio 的实现
  • GoVCL - 跨平台的 GUI 包
  • vugu - WebAssembly UI 框架
  • GoGi - 2D/3D GUI 框架
  • systray - 跨平台支持菜单栏管理
  • go-flutter - 绑定 Flutter 到桌面应用
  • NuxUI

桌面辅助包

桌面应用

移动端

协程/线程

  • ants - 协程池
  • tunny
  • go-workers - 安全地并发运行一组 worker,通过 channel 进行输入输出
  • Machine - 受 errgroup.Group 启发的协程管理
  • thread
  • conc - 更好用的结构化并发控制
  • zeropool - 零回收、类型安全的协程池
  • workerpool - 无阻塞队列任务池
  • pond - 协程池

任务/定时器

  • RxGo - Go 版 ReactiveX,简单方便的处理异步数据流
  • Grift - Go based task runner
  • cron - a cron library for go
  • goCron - A Golang Job Scheduling Package
  • jobrunner
  • CurlyQ - 后台任务处理库
  • overtalk/task - 任务的管理&执行,支持自定义次数的重发
  • PPGo_Job - 定时任务管理系统
  • gocelery - Celery 的 Go 语言实现
  • Machinery - 通过分布式消息实现异步任务调度
  • dkron - 分布式任务调度系统
  • Grit - 基于 MultiTree 实现的任务管理
  • Asynq - 异步分布式任务队列
  • cronsun - 分布式任务系统

流处理

微信

  • weapp - 微信小程序 SDK
  • wechat - WeChat SDK for Go
  • wechat-go - 微信 Web 版 API 的 Go 实现

SDK

  • gopay - QQ、微信(WeChat)、支付宝(AliPay)的Go版本SDK
  • alipay - 支付宝SDK

区块链

开发辅助包

  • cvt - 任意数据类型转换,支持自定义类型、提取结构体字段和值
  • copier - struct 之间拷贝值
  • cast - 数据类型转换
  • diff - 结构体&值比较
  • go-extend
  • com - 工具包
  • php2go - Go 实现的 140+ 个 PHP 函数功能包
  • gommon - Common packages for Go
  • reflect2 - reflect api without runtime reflect.Value cost
  • mapstructure - 将 map 值转换到结构体中
  • naza - Go语言基础库
  • automaxprocs - 自动设置 GOMAXPROCS
  • c2go - 将 C 代码转换为 Go 代码的工具
  • rnm - 代码重构辅助工具
  • memviz - 图形化数据结构
  • underscore.go
  • go-testdeep - 非常灵活的深度比较包,扩展了 Go 测试包
  • go-model - struct 操作包
  • concurrent-map - 并发安全 map
  • goleak - 检测 goroutine 泄漏
  • guregu/null - SQL/JSON的null处理包,提供替代类型
  • stats - 标准数字统计
  • Chronos - 静态竞争检测器
  • collection - 替代原生的 Slice
  • rf - 代码重构工具
  • bytebufferpool - byte buffers pool
  • bpool - byte buffers pool,支持 bytes.Buffers
  • mergo - 合并结构体和字典数据
  • go-funk - 基于反射实现的常用函数
  • lo - 基于 1.18+ 泛型的常用函数
  • juniper - 基于泛型实现常用的容器、迭代器、数据流等功能
  • mergo - 合并结构体和字典
  • xstrings - 字符串相关函数
  • pie - slice/map 链式处理

代码生成

  • ChimeraCoder/gojson - 根据 JSON 生成结构体
  • db2struct - 根据表结构生成结构体
  • smallnest/gen - 根据表结构生成结构体
  • sqlc - 根据 SQL 语句生成 Go 代码
  • xo - 根据表结构或查询语句自动生成 Go 代码

系统开发

  • LinuxKit - 为容器构建安全、便携、可移植操作系统的工具包
  • go-systemd - 绑定 systemd
  • Lima - Linux-on-Mac ("macOS subsystem for Linux", "containerd for Mac")
  • gopher-os - 一个兼容 Linux 的 64 位 POSIX 风格系统
  • gouring - 不依赖 CGO 实现系统调用

未归类

logo

工具

资源站点

go-awesome's People

Contributors

alibabaaaaaa avatar barats avatar colin404 avatar ctolib avatar cuisongliu avatar fishtailstudio avatar hdt3213 avatar holenlv avatar jincheng9 avatar lxzan avatar newpanjing avatar roseduan avatar shockerli avatar sivanwu0222 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.