43

Go 资源整理,这里有你想要的💊

 4 years ago
source link: https://www.tuicool.com/articles/YRv6z27
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.

嗯~世界上第二好的语言,这里有你可能想要的:pill:

GitHub 上稳定更新,觉得不错请点个 Star :heart:

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

原文地址: 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

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

指导原则

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

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

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

Awesome

大牛

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

文档

指南

文章

付费教程

成品项目

  • studygolang - Go 语言中文网
  • Hugo - 静态网站生成器
  • 喧喧 - 由 然之协同 提供的面向企业即时通信解决方案
  • mkcert - 生成本地 HTTPS 加密证书的工具
  • Rainbond - 基于Docker、Kubernetes等容器技术的开源PaaS
  • NYADB2 - Go 实现的关系型数据库, 值得用于学习
  • EiBlog - 国产 博客
  • pan-light - 不限速的百度网盘客户端, 基于 Go + Qt5 开发

学习项目

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

开源类库

框架

中间件

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

并发

命令行

  • urfave/cli - 命令行程序构建工具
  • Cobra - 命令行构建包
  • GoTTY - 基于Web的命令行实时共享
  • progressbar - 在终端上输出进度条
  • 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 - 一个命令行的信息仪表盘,可以定制显示内容

路由

网络

  • fasthttp - 比 net/http 快 10 倍的 HTTP 工具包
  • Resty - HTTP & REST 客户端包
  • DNS - DNS 库
  • CoreDNS - DNS 服务器
  • Caddy - Web 服务器
  • RoadRunner - PHP 应用服务器、进程管理器、负载均衡,用于替代 Nginx + FPM
  • Træfik - 反向代理&负载均衡
  • GoReplay - 流量收集&回放
  • Vegeta - HTTP 负载压测工具
  • hey - Web 压测工具
  • bombardier - Web 压测工具
  • p2pspider - 种子嗅探器
  • goim - 支持集群的 im 及实时推送服务
  • Proxy - golang 实现的高性能代理服务器
  • ProxyPool - 采集免费的代理资源为爬虫提供有效的IP代理
  • frp - 可用于内网穿透的高性能的反向代理应用
  • torrent - BitTorrent 相关工具库
  • httpteleport - Teleports 10Gbps http traffic over 1Gbps networks
  • FIND3 - WiFi 设备发现
  • SubFinder - 子域名发现工具
  • ggz - 短网址服务
  • httpstat

WebSocket

网关

序列化

RPC

邮件

消息

  • Tinode - 即时消息服务器,通过 websocket/JSON 或 gRPC/TCP 等协议传输
  • NSQ - 分布式消息平台

文件

模板引擎

文本

  • Blackfriday - Markdown 解析器
  • gpy - Go 语言汉字转拼音工具
  • html2text - HTML 转 text
  • go-hashids - hashids 的 Go 版本
  • go-pinyin - 汉语拼音转换工具 Go 版
  • mahonia - 字符集编码转换
  • pangu.go - Go 版本的 pangu,给中英文之间加空格
  • goorgeous - A Go ORG syntax parser to HTML
  • go-diff - Go 版本的 diff 工具包
  • Chroma - 代码语法高亮
  • Emoji
  • prose - natural language processing library
  • minify - Web 静态资源压缩(HTML/JS/CSS/JSON)
  • Lute - 结构化的 Markdown 引擎
  • docx2md 转换 Word 为 Markdown

文档

数学计算

日期时间

  • now
  • when - 自然日期时间解析

配置

爬虫

  • Crawlab - 基于Golang的分布式爬虫管理平台,支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架
  • Colly - 网络爬虫框架
  • Pholcus - 支持分布式的高并发、重量级爬虫软件
  • go_spider
  • goquery
  • Muffet - 网站链接检查器
  • Creeper

数据库相关

  • GORM
    • gorm2sql - 根据 Model Struct 生成建表语句
  • Xorm - 支持 MySQL、PostgreSQL、SQLite3 以及 MsSQL
  • GoRose
  • Go-MySQL-Driver
  • sqlx - database/sql 扩展包
  • qb - the database toolkit for go
  • Redigo - Redis 客户端
  • go-redis
  • mongo-go-driver - MongoDB 官方出品的 Go 语言驱动
  • mgo
  • amqp - Go client for AMQP 0.9.1
  • xo - a command-line tool to generate Go code based on a database schema or a custom query
  • kingshard - MySQL Proxy
  • SOAR - 对SQL进行优化和改写的自动化工具
  • gh-ost - GitHub 开源的在线更改 MySQL 表结构的工具
  • go-mssqldb - MSSQL 驱动
  • pq - PostgreSQL 驱动
  • SQLer - write APIs using direct SQL queries with no hassle, let’s rethink about SQL
  • gocraft/dbr
  • Gaea - 小米开源的基于 MySQL 协议的数据库中间件
  • OctoSQL - 支持多数据库的 SQL 查询工具
  • goose - 数据库迁移工具
  • ent - An Entity Framework For Go

数据库引擎

  • etcd - KV 分布式存储
  • InfluxDB
  • CockroachDB - SQL database
  • Cayley - 图数据库
  • RadonDB - 基于 MySQL 研发的新一代分布式关系型数据库
  • AresDB - Uber 开源的 GPU 驱动的实时分析存储&查询引擎
  • leveldb - LevelDB 的 Go 实现
  • Dgraph - 分布式图数据库

搜索

表单

  • validator
  • go-tagexpr - 字节跳动开源的结构体标签表达式解释器
  • schema - converts structs to and from form values

Auth

缓存

图片

  • barcode - 条形码/二维码生成器
  • picfit - 图片操作、裁剪、管理服务器
  • gmfs - 图片操作、裁剪、管理服务器
  • besticon - favicon 服务
  • Caire - 图片操作库
  • Imaging - 图片操作库
  • gocaptcha - 验证码生成
  • go-is-svg - 校验是否为 SVG 图片
  • identicon - 根据用户的 IP 、邮箱名等任意数据为用户产生漂亮的随机头像

图表

构建编译

  • Mage - a Make/rake-like build tool using Go
  • GoReleaser - Go 多平台二进制文件打包、并支持发布到 Homebrew 的工具
  • goxc
  • gometalinter - 代码质量检查分析工具
  • Task - 类似于 Make 的构建工具
  • gin - 热编译工具,自动监测文件变化而重新编译并重启,方便开发调试 Web 应用

调试

  • go-spew - 变量打印工具
  • Delve - Debug 工具
  • repr - 变量打印工具
  • pp - 彩色变量打印工具
  • gops - 谷歌官方出品的 Go 程序监控调试工具
  • pprof
  • go-callvis - 可视化Go程序的调用图
  • q - 自动打印变量类型并且格式化输出
  • Litter
  • errcheck - 检测未处理的错误(errors)
  • Staticcheck - 一系列的 Go 代码静态分析工具

测试

错误处理

安全

UUID

日志&收集

监控

  • OpenFalcon - 小米开源的监控系统
  • Prometheus - 监控系统
  • Grafana - 分析监视平台, 支持 Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB 等数据源
  • TeaWeb - 一款集静态资源、缓存、代理、统计、监控于一体的可视化智能WebServer
  • Jaeger - 分布式追踪系统

统计分析

容器技术

机器学习

  • goml - 机器学习库
  • GoLearn - 一个 “开箱即用” 的机器学习库
  • glow - 易用的分布式计算系统
  • Gobot - 机器人和物理计算语言库
  • Olivia - 神经网络
  • Pico - 基于像素强度比较的物体检测纸张的纯 Go 脸部检测库

算法

数据结构

依赖注入

JSON

依赖管理

微服务

持续集成/部署

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 的工具

限流器

解释器

  • participle - 通用的自定义语法解析包
  • GopherLua - VM and compiler for Lua in Go
  • go-lua - A Lua VM in pure Go
  • php-parser - PHP AST 语法解析
  • otto - JavaScript 解释器
  • goja - ECMAScript 5.1(+) implementation in Go
  • gpython - Python Interpreter on Go
  • starlark-go - Starlark in Go
  • avo - Generate x86 Assembly with Go
  • wagon - WebAssembly 解释器
  • GopherJS - 把 Go 代码编译成 JavaScript 代码
  • Yaegi - Go 语言解释器

自定义解释器

查询语言

  • graphql - Go 实现的 GraphQL
  • RQL - REST 资源查询语言
  • Thunder - GraphQL 服务构建框架

游戏相关

桌面开发

  • Lorca - 用 Go 编写 HTML5 桌面程序,依赖 Chrome 进行 UI 渲染,但却不把 Chrome 打包到应用中
  • webview - 用 Go 构建跨平台的桌面软件
  • walk - Windows GUI toolkit
  • go-gtk - Go bindings for GTK
  • ui - Platform-native GUI library for Go
  • fyne - Cross platform GUI in Go based on Material Design
  • go-gl - Go bindings for OpenGL (generated via glow)
  • therecipe/qt - 基于 Qt 的跨全平台 UI 包

任务/定时器

  • Grift - Go based task runner

微信

  • weapp - 微信小程序 SDK

未归类

  • Robotgo - Golang 跨平台自动化系统,控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听
  • cron - a cron library for go
  • goCron - A Golang Job Scheduling Package
  • com - 工具包
  • php2go - Go 实现的 140+ 个 PHP 函数功能包
  • gommon - Common packages for Go
  • Go Report Card - Go 项目质量分析报告工具
  • i18n - i18n 多语言工具包
  • Paginater - 分页工具
  • gls - Goroutine local storage
  • go-version - 版本号比较
  • reflect2 - reflect api without runtime reflect.Value cost
  • mapstructure - Go library for decoding generic map values into native Go structures
  • copier - struct 之间拷贝值
  • Cast - 数据类型转换
  • Metabolize - Decodes HTML meta tags into a Golang struct
  • otp - 一次性密码工具包(One Time Password utilities)
  • feeds - RSS 内容生成
  • gofeed - RSS & Atom feeds 内容解析
  • wechat-go - 微信 Web 版 API 的 Go 实现
  • misspell - 常拼写错误的英语单词
  • Standard Go Project Layout - Go 项目目录结构示例
  • CRDT - CRDT(Convergent and Commutative Replicated Data Types)最终一致性算法的实现
  • script - Making it easy to write shell-like scripts in Go
  • revive - 代码检查分析

工具

资源站点


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK