×
您的位置: 首页 > 编程笔记

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

Go 时间:2019-11-23  查看:1425   收藏

最后更新于2019.11.22

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

指导原则

  • 简单性

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

  • 可读性

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

  • 生产率

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

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 - 一个命令行的信息仪表盘,可以定制显示内容

  • go-prompt - 命令行交互式输入

路由

网络

  • 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

  • Inflection - Pluralizes and singularizes English nouns

文档

数学计算

日期时间

  • 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 - 跨平台编译工具(因 1.5 版本开始已自带交叉编译,故已不再维护)

  • Task - 类似于 Make 的构建工具

  • codegangsta/gin - 热编译工具,自动监测文件变化而重新编译并重启,方便开发调试 Web 应用

优雅升级

代码分析

调试

  • go-spew - 变量打印工具

  • Delve - Debug 工具

  • repr - 变量打印工具

  • pp - 彩色变量打印工具

  • gops - 谷歌官方出品的 Go 程序监控调试工具

  • pprof

  • go-callvis - 可视化Go程序的调用图

  • q - 自动打印变量类型并且格式化输出

  • Litter

测试

错误处理

安全

硬件

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 语言解释器

  • properties - Java properties scanner for Go

  • gobasic - A BASIC interpreter written in golang

自定义解释器

查询语言

  • 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

  • sysadmin-utils

工具

资源站点

 

0% (0)
0% (0)