31

Go 资源整理,这里有你想要的💊 - 格物 - SegmentFault 思否

 4 years ago
source link: https://segmentfault.com/a/1190000020868910
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Go 语言优秀资源整理,为项目落地加速🏃(更新于2020.10.29)

最后更新于2020.10.29
Go 语言优秀资源整理,为项目落地加速🏃

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

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

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

GitHub: https://github.com/shockerli/...


官网: https://golang.org

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

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

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

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

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

  • 复杂性把可读的程序变得不可读,复杂性终结了很多软件项目。
  • 代码是给人看的,代码阅读时长远超编写。程序必须可维护,那可读是第一步。
  • 拥有众多的工具集和基础库,可以很简单方便的完成绝大多数工作。
    编译速度足够快,拥有动态语言的高效,但却不会面临动态语言不可靠的问题。
    自带编程规范,使得团队代码一致,也帮助开发者发现和避免潜在的错误。

Awesome

Go 语言方面的大牛,或者优秀 Go 项目的组织
  • studygolang - Go 语言中文网
  • mkcert - 生成本地 HTTPS 加密证书的工具
  • Rainbond - 基于Docker、Kubernetes等容器技术的开源PaaS
  • NYADB2 - Go 实现的关系型数据库, 值得用于学习
  • EiBlog - 国产 博客
  • pan-light - 不限速的百度网盘客户端, 基于 Go + Qt5 开发
  • BaiduPCS-Go - 百度网盘客户端
  • daily-warm - 每天定时发邮件给你关心的人
  • pipe - 博客平台
  • mdr - 命令行下的 Markdown 阅读工具
  • miniflux - Feed 阅读器
  • 链滴笔记 - 桌面端笔记应用
  • wayback - 网页快照备份

静态网站生成器

  • 1m-go-websockets - 该项目演示了如何用 Go 编写一个可以提供超过一百万个 websockets 连接、运行内存小于 1GB 的服务器
  • Go by Example - 通过实例学习 Go

Web 框架

TCP 框架

  • zinx - TCP并发服务器框架
  • Negroni - Web 中间件
  • csrf - CSRF 中间件
  • handlers - A collection of useful handlers for Go's net/http package
  • urfave/cli - 命令行程序构建工具
  • Cobra - 命令行构建包
  • progressbar - 在终端上输出进度条
  • cheggaaa/pb - 终端进度条
  • mpb - 支持多个进度条
  • Color - 命令行文字颜色
  • termui - 终端仪表盘
  • gosu - 以指定的用户权限来运行脚本
  • tui - 终端 UI
  • gotop - 类 top 系统监控显示
  • go-colorable - Colorable writer for Windows
  • go-isatty - TTY 环境判断
  • fzf - 命令行下的文件 Finder
  • flaggy - 命令参数解析
  • 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 Go
  • vtclean - 从终端输出字符串中解析出纯文本
  • vgrep - 支持滚动分页的 grep
  • GoTTY - 基于Web的命令行实时共享
  • DNS - DNS 库
  • CoreDNS - DNS 服务器
  • RoadRunner - PHP 应用服务器、进程管理器、负载均衡,用于替代 Nginx + FPM
  • 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-netty - 网络框架
  • gnet - 事件驱动 Go 网络框架
  • httplab - The interactive web server
  • yamux - Multiplexer
  • sftp - SFTP support for the go.crypto/ssh package
  • evio - 事件驱动网络框架(reactor 模式)
  • gaio - 事件驱动网络框架(proactor 模式)
  • httpretty - 在终端上漂亮地打印出 HTTP 请求
  • blocky - 作为局域网 DNS 代理拦截广告
  • lossy - 模拟 net.PacketConn 和 net.Conn 接口的带宽,延迟和数据包丢失
  • go-libp2p - P2P
  • go-ipfs-api - IPFS
  • go-multiaddr - multiaddr
  • Caddy - 类似 Nginx 的 Web 服务器
  • Traefik - 反向代理&负载均衡
  • Proxy - golang 实现的高性能代理服务器
  • ProxyPool - 采集免费的代理资源为爬虫提供有效的IP代理
  • frp - 可用于内网穿透的高性能的反向代理应用
  • nps - 一款轻量级、高性能、功能强大的内网穿透代理服务器
  • MOSN - 云原生网络代理
  • Pomerium - 基于身份的反向代理
  • V2Ray
  • V2Fly - V2Ray 的社区版本

HTTP压测

WebSocket

  • Centrifugo - 实时消息服务器,可以与任何语言编写的应用程序后端结合使用
  • goim - 支持集群的 im 及实时推送服务
  • Tinode - 即时消息服务器,通过 websocket/JSON 或 gRPC/TCP 等协议传输
  • WebRTC - WebRTC 实现

序列化/解压缩

  • NSQ - 实时分布式消息平台
  • NATS - 云原生消息中间件
Markdown
  • decimal - 解决浮点数计算精度问题
  • fixed
  • apd - decimal 包
  • mathfmt - 将 LaTeX 语法的注释转换为数学公式格式
  • now
  • when - 自然日期时间解析
  • Carbon - Carbon 时间处理库的 Go 语言实现
  • strftime - 时间格式化
  • Crawlab - 基于Golang的分布式爬虫管理平台,支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架
  • Colly - 网络爬虫框架
  • Pholcus - 支持分布式的高并发、重量级爬虫软件
  • go_spider
  • goquery
  • Muffet - 网站链接检查器
  • Creeper
数据库相关
数据库驱动
数据库引擎
  • etcd - KV 分布式存储
  • InfluxDB - 时间序列数据库
  • Prometheus - 服务监控系统 & 时间序列数据库
  • Thanos - 支持 Prometheus 简化部署、高可用、分布式存储
  • CockroachDB - SQL database
  • Cayley - 图数据库
  • RadonDB - 基于 MySQL 研发的新一代分布式关系型数据库
  • TiDB - 分布式关系型数据库,兼容 MySQL 协议
  • AresDB - Uber 开源的 GPU 驱动的实时分析存储&查询引擎
  • leveldb - LevelDB 的 Go 实现
  • Dgraph - 分布式图数据库
  • rqlite - 基于 SQLite 的轻量级分布式关系数据库
  • gaeadb
  • BadgerDB - KV 数据库
  • LBADD - 用 Go 实现的分布式 SQL 数据库
  • go-memdb - 建立在不可变 Radix 树上的内存数据库
  • VectorSQL - 应用于 IoT 和大数据的 DBMS 数据库,类似于 ClickHouse
  • BuntDB - 基于内存的KV数据库,支持磁盘持久化、ACID事务
  • TinySQL - 迷你分布式关系型数据库
  • groupcache - 分布式缓存
  • Tile38 - GEO 数据库
  • Redcon - 兼容 Redis 协议的自定义 Redis 服务,采用 BuntDB 和 Tile38 实现存储
  • genji - 文档内嵌型数据库
  • validator
  • go-tagexpr - 字节跳动开源的结构体标签表达式解释器
  • schema - converts structs to and from form values
  • Casbin - 权限控制管理
  • pam-ussh - Uber's SSH certificate pam module
  • jwt-go - JWT for Go
  • jwt - JWT 轻量级实现
  • sessions - 后端 SESSION 服务
  • securecookie - cookie 加密/解密
  • Goth - Multi-Provider Authentication for Go
  • branca - 号称比 JWT 更安全的 token 解决方案
  • goav - FFmpeg 视频处理
  • lal - 直播流媒体网络传输服务器
  • bililive-go - 直播录制工具
  • screego - 通过浏览器共享开发者屏幕
  • barcode - 条形码/二维码生成器
  • picfit - 图片操作、裁剪、管理服务器
  • gmfs - 图片操作、裁剪、管理服务器
  • besticon - favicon 服务
  • Caire - 图片操作库
  • Imaging - 图片操作库
  • gocaptcha - 验证码生成
  • go-is-svg - 校验是否为 SVG 图片
  • identicon - 根据用户的 IP 、邮箱名等任意数据为用户产生漂亮的随机头像
  • prominentcolor - 识别图片的主要颜色
  • dchest/captcha - 生成和验证图片或音频验证码
  • bimg - 图片处理
  • imaginary - 图片处理服务
  • primitive - 用原始几何图形绘制图形
  • orly - 生成你自己的O'RLY动物书封面
  • Mage - a Make/rake-like build tool using Go
  • GoReleaser - 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 等打包工具
  • go-spew - 变量打印工具
  • Delve - Debug 工具
  • gdlv - Delve 界面版本
  • repr - 变量打印工具
  • pp - 彩色变量打印工具
  • ffmt - 变量打印工具
  • gops - 谷歌官方出品的 Go 程序监控调试工具
  • pprof
  • go-callvis - 可视化Go程序的调用图
  • q - 自动打印变量类型并且格式化输出
  • Litter
  • RDebug - 滴滴开源的一款用于 RD 研发、自测、调试的实用工具
  • debugcharts - Go 内存占用可视化调试工具
  • gcvis - 实时可视化 gctrace
  • pkg/profile
  • statsviz - 在浏览器中实时查看 Go 应用程序运行时统计信息(GC,MemStats 等)
  • 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 - 支持堆栈、状态码的错误处理
  • Kunpeng - 开源POC检测框架
  • nmap - 安全审计工具 nmap 开发包
  • Hetty - 用于安全研究的 HTTP 工具包,具有 Web 接口和代理日志查看器的拦截 HTTP 代理
  • OpenFalcon - 小米开源的监控系统
  • Prometheus - 服务监控系统 & 时间序列数据库
  • Grafana - 分析监视平台, 支持 Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB 等数据源

    • grabana - 用 Go 代码快速创建 grafana dashboards
  • TeaWeb - 一款集静态资源、缓存、代理、统计、监控于一体的可视化智能WebServer
  • Jaeger - 分布式追踪系统
  • go-osstat - 系统指标统计
  • grafterm - Metrics dashboards on terminal
  • mymon - MySQL 运行监控
  • Fathom - Web 站点统计
  • Signal - Web 站点统计
  • Veneur - 分布式实时数据处理管道
  • gonum - 科学计算相关
  • goml - 机器学习库
  • GoLearn - 一个 "开箱即用" 的机器学习库
  • glow - 易用的分布式计算系统
  • Gobot - 机器人和物理计算语言库
  • Olivia - 神经网络
  • Pico - 基于像素强度比较的物体检测纸张的纯 Go 脸部检测库

Serverless

持续集成/部署

  • CDS - 持续集成服务
  • gopub
  • CodePub
  • syncd - 代码部署工具
  • Drone - 基于 Docker 的持续发布平台
  • Cyclone - 持续集成&发布平台
  • tbls - 用于记录数据库文档的 CI 友好工具
  • 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 命令增强版,支持文件和分支名称自动完成、命令和标志建议
  • TinyGo - 一个适用于微控制器、WebAssembly 和命令行工具的 Go 编译器
  • llir/llvm - LLVM 编译器
  • jit-compiler - JIT 编译器
  • 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 - Generate x86 Assembly with Go
  • wagon - WebAssembly 解释器
  • GopherJS - 把 Go 代码编译成 JavaScript 代码
  • Yaegi - Go 语言解释器
  • properties - Java properties scanner for Go
  • gobasic - A BASIC interpreter written in golang
  • golisp - Lisp 解释器
  • dst - Go Decorated Syntax Tree
自定义解释器
  • gore - 在线运行 Go 代码
  • nodebook - 在线运行多种语言
  • Lorca - 用 Go 编写 HTML5 桌面程序,依赖 Chrome 进行 UI 渲染,但却不把 Chrome 打包到应用中
  • webview - 用 Go 构建跨平台的桌面软件
  • 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 包
  • ants - goroutine 池
  • tunny
  • go-workers - 安全地并发运行一组 worker,通过 channel 进行输入输出
  • Machine - 受 errgroup.Group 启发的协程管理

任务/定时器

开发辅助包

  • LinuxKit - 为容器构建安全、便携、可移植操作系统的工具包
  • go-playground - 比官方更好用的 Go Playground
  • Robotgo - Golang 跨平台自动化系统,控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听
  • go-homedir
  • i18n - i18n 多语言工具包
  • Paginater - 分页工具
  • gls - Goroutine local storage
  • go-version - 版本号比较
  • go-semver - 语义版本
  • Metabolize - Decodes HTML meta tags into a Golang struct
  • otp - 一次性密码工具包(One Time Password utilities)
  • misspell - 常拼写错误的英语单词
  • CRDT - CRDT(Convergent and Commutative Replicated Data Types)最终一致性算法的实现
  • script - Making it easy to write shell-like scripts in Go
  • sysadmin-utils
  • licenseclassifier - 识别文件中的 license 类型
  • rose - 在 HTML 中嵌入和运行 Go 代码
  • esbuild - JavaScript 构建打包工具
  • clipboard - 跨平台的粘贴板实现
  • Timeliner - 搜集整理个人在社交网站上的数据并索引成时间线
  • hc - HomeKit 平台开发框架

感谢您的阅读,觉得内容不错,点个赞吧 😆

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK