awesome-go-cn
内容包括:Web框架、模板引擎、表单、身份认证、数据库、ORM框架、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析、教程和(电子)书等。
敬请期待
Awesome Go
这是一个精心策划的、包含大量优秀 Go 语言框架、库、软件的列表。本项目是受awesome-python启发。
参与
烦请诸位参与前看一眼参与指南 。感谢各位贡献者,你们是最棒的! contributors
如果你发现某个项目已经不维护了,或者它并不好,请发起一个 pull request 来帮助我们改善此列表。感谢。
目录
音频和音乐
用于操作音频的库
认证和授权
用来生成认证授权模板的库
- authboss - 用于 web 开发的组件化认证授权系统。它尝试尽可能的移除模板代码以及硬编码,这使你每次新建 web 项目的时候,可以做到即插即用、配置并开始开发你的 web 英语,而不必每次都重新创建一个认证授权系统。
- casbin - 一个支持接入控制模型(例如:ACL,RBAC,ABAC)的授权库
- Go-AWS-Auth - AWS 请求签名库
- Go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web 签名以及JSON Web 加密 specs.
- Go-oauth2-server - 使用 Go 语言编写的独立、符合标准的 OAuth2 服务器
- Go.auth - 为 Go 语言 web 应用提供的授权 API.
- Gologin - 可以串连使用OAuth1 和 OAuth2 认证服务
- Gorbac - 一个用 Go 语言实现的轻量级RBAC
- Goth - 提供了一种简洁的、惯用的方式来使用OAuth 和 OAuth2.
- httpauth - HTTP 认证中间件
- jwt - 简单易用的一个JSON Web Tokens (JWT)的实现
- jwt-auth - JWT 为 Go 语言 HTTP 服务器编写的 jwt 中间件,有多种配置选项
- jwt-Go - Go 语言实现的JSON Web Tokens (JWT).
- loginsrv - JWT 登录微服务,可以继承OAuth2 (Github), htpasswd, osiam等后端。
- oauth2 - Goauth2的继承者。 通用 OAuth 2.0 库,集成了对JWT, Google APIs, Compute Engine 和 App Engine的支持.
- osin - Go 语言 OAuth2 服务器库
- permissions2 - 用于追踪用户,登录状态和许可的库。使用安全 cookies 和 bcrypt.
- session - Go 语言会话管理(支持 Google App Engine - GAE)
- sessions - 为 Go 语言 HTTP 服务器开发的非常简单的、高性能的、高可定制的会话服务
- traefik - 反向代理和负载均衡库,支持多种后端
- yubiGo - Yubikey 客户端,提供了用于在 Go 语言应用中集成Yubico Yubikey 的 API
命令行
标准命令行交互
用于构建标准或基础命令行应用的库
- argv - 用于分隔命令行字符串并将其作为参数的 Go 语言库,使用 bash 的语法
- cli - 功能强大,使用简单的命令行软件包,基于Golang tag
- cli-init - 提供一种简单、易上手的方式 来使用 Go 语言编写命令行程序
- climax - 一个更为人性化的命令行工具,继承了 Go command 的精神
- cobra - 用于现代 Go 语言命令行交互的工具
- complete - 使用 Go 语言编写的 bash 命令补全工具以及 Go 命令补全工具
- docopt.Go - 能令你会心一笑的命令行参数解析器
- drive - 命令行的 Google Drive 客户端
- flag - 简单、强大的命令行选项解析库,支持 Go 语言子命令
- Go-arg - 使用 Go 语言编写的基于结构的命令行参数解析库
- Go-flags - Go 语言命令行选项解析器
- kingpin - 命令行及标记解析器,支持子命令
- liner - 命令行文本编辑器
- mitchellh/cli - 用于实现命令行交互的 Go 语言库
- mow.cli - 用于构建命令行程序的库,支持更加精准的标记及选项解析和验证
- pflag - Go flag 软件包的替代品, 实现了POSIX/GNU-风格的 --flags.
- readline - 纯 Go 语言实现的 GNU-Readline 支持其大部分功能,基于MIT 协议发布。
- sflags - 基于结构的 flag 生成器,支持flag, urfave/cli, pflag, cobra, kingpin等其他库
- ukautz/clif - 一个小型命令行程序开发框架
- urfave/cli - 简单、快速、有趣的、用于构建 Go 语言命令行程序的软件包(formerly codegangsta/cli).
- wlog - 简单的登录接口,支持跨平台颜色和并发
- wmenu - 为命令行程序提供简单的菜单结构选项,供用户进行选择
高级控制台界面
用于构建命令行程序以及控制台界面的库
配置
用于进行配置解析的库
- config - JSON 或 YAML 配置的封装,支持环境变量和标记解析
- configure - 可以通过多种途径进行配置,包括 JSON, 标记位以及环境变量
- env - 解析环境变量为 Go 语言结构体
- envcfg - 解析环境变量为 Go 语言结构体
- envconf - 通过环境变量来配置
- envconfig - 通过环境变量读取配置
- gcfg - 读取类 INI 类型的配置文件为 Go 语言结构体,支持自定义变量和节
- GoConfig - 通过命令行的输入、环境变量、配置文件来初始化一个结构体兵将一个结构体解析为输入
- Godotenv - Ruby 库 dotenv 的 Go 语言接口 (通过
.env
来获取环境变量)
- Gofigure - 让 Go 语言应用程序配置变得简单
- Gone/jconf - 模块化 JSON 配置工具。允许你将配置参数结构体和使用它的代码放在一起,而不需要让主配置文件了解所有子模块的细节来进行序列化
- hjson - 人性化的 JSON,一个便于程序员使用和阅读的配置文件格式。更加轻松的语法,更少的错误和更多的注释
- inGo - 将配置标记持久化到一个类似 ini 的文件中
- ini - 用于读写INI 文件的库
- joshbetz/config - 消息配置库,可以解析环境变量、JSON 文件并根据SIGHUP自动重新载入
- mini -用于解析类 ini 文件的库
- store - 轻量级配置管理
- viper - 长牙的(这个库名叫毒蛇)Go 语言配置工具
- xdg -遵守 XDG 标准 的配置工具
持续集成
帮助你进行持续集成的库
- drone - Drone 是一个基于 Docker的持续集成平台,使用 Go 语言编写
- Goveralls - Coveralls.io 是一个持续代码覆盖率检测系统,这个库提供了 Go 语言的支持
- overalls - 针对多package 的 Go 语言项目,为 Goveralls 这样的工具生成覆盖率报告
- roveralls - 回归覆盖测试工具
CSS 预处理器
用于对 CSS 文件预处理的工具
- c6 - 高性能、兼容 SAAS 的编译器
- gcss - 纯 Go 语言编写的 CSS 预处理器
- Go-libsass - 100%兼容 Sass 的库 libsass 的 Go 语言封装
数据结构
通用数据结构及算法
数据库
数据库迁移
- darwin - 数据库模式进化库
- Go-fixtures - 类似 DjanGo fixtures,用于 Golang 的內建数据库/sql 库
- Goose - 数据库迁移工具。你可以通过编写增量 SQL 或 Go 语言脚本来管理你的数据库
- Gormigrate - 数据库模式迁移帮助工具,用于 Gorm ORM.
- migrate - 数据库迁移。命令行及 Go 语言库
- pravasan - 简单的迁移,目前支持 MySQL 但是近期打算支持 Postgres, SQLite, MonGoDB 等等
- soda - 数据库迁移、创建、 ORM等等,用于 MySQL, PostgreSQL, 以及 SQLite.
- sql-migrate - 数据库迁移工具,允许利用 Go-bindata 将数据库迁移嵌入应用程序
数据库工具
用于创建和使用SQL的库
- dat - Go 语言 Postgres 数据库工具集
- Dotsql - 一个Go语言库,帮助你将 sql 文件保存在一个地方并且方便的取用
- Goqu - 地道的 SQL 语句创建器和查询库
- iGor - PostgreSQL 的抽象层,支持高级功能以及类 Gorm 的语法
- ozzo-dbx - 提供强大的数据恢复功能以及构建不区分数据库类型的查询的能力
- scaneo - 生成用于将数据库行转换为任意结构体的 Go 代码
- sqrl - SQL 查询创建器,是 Squirrel 的一个分叉版本,进行了性能方面的优化
- Squirrel - 一个帮助你构建 SQL 查询的库
- xo - 基于已知的数据库表或自定义查询生成地道的 Go 语言代码,支持 PostgreSQL, MySQL, SQLite, Oracle, 以及 Microsoft SQL Server.
数据库驱动
用于连接和操作数据库的库
- 关系型数据库
- NoSQL 数据库
- aerospike-client-Go - Aerospike 客户端
- aranGolite - AranGoDB 的轻量级 Go 语言驱动
- asc - 用于go语言连接 Aerospike
- cayley - 支持多种后端的图数据库
- dsc - 数据库连接工具包,支持 SQL, NoSQL 及结构化文件 * dynaGo - DynaGo 是一个符合最小惊奇原则(principle of least surprise)的 DynamoDB 客户端
- Go-couchbase - Go 语言 Couchbase 客户的
- Go-couchdb - 另一个 CouchDB HTTP API 的 Go 语言封装
- Gocb - 官方 Couchbase 的 Go 语言 SDK
- Gocql - Apache Cassandra 的 Go 语言驱动
- Gomemcache - memcache 客户端库
- Gorethink - RethinkDB 的 Go 语言驱动
- Goriak - Riak KV 的 Go 语言驱动
- mGo - MonGoDB 驱动,通过简单的 API 实现了丰富的、经过测试的特性,这些 API 遵循 Go 语言的习惯
- neo4j - Neo4j Rest API 的 Go 语言接口
- Neo4j-Go - Go 语言实现的 Neo4j REST 客户端
- neoism - Go 语言 Neo4j 客户端
- rediGo - RediGo 是 Redis 数据库的 Go 语言客户端.
- redis - Redis 的 Go 语言客户端
- redis - 简单、强大的 Redis 客户端
- redis - 兼容Redis协议的 TCP 服务器/服务.
- xredis - 类型安全的、可定制的、简洁易用的 Redis 客户端
- 搜索及分析数据库
日期和时间
处理日期和时间的库
分布式系统
用于构建分布式系统的库
- celeriac - 利用 Go 语言对Celery 的 worker,任务,事件进行交互和监控的库
- drmaa -集群调度工具的任务提交库,基于标准 DRMAA
- flowgraph - MPI 风格的读取,发送协同层
- gleam - 快速、可扩展的分布式 map/reduce 系统,使用纯 Go 语言和 Luajit 编写,融合了 Go 语言的高并发能力和 Luajit 的高性能,可以独立或分布式部署运行。
- glow - 简单易用、可扩展的大数据处理能力,Map-Reduce 以及执行 DAG(Database Availability Group),所有功能均由Go语言编写.
- Go-jump - Google "Jump" 一致性哈希函数的借口
- Go-kit - 为服务工具吧,支持服务发现、负载均衡 、可插拔传输以及请求追踪等
- Gorpc - 简单、快速、可扩展的 RPC 库,针对高负载场景
- grpc-Go - Go 语言实现的 gRPC. HTTP/2 基于 RPC.
- hprose - 非常牛逼的 RPC 库,当前支持 25+ 语言。
- jsonrpc - jsonrpc 包实现了 JSON-RPC 2.0.
- jsonrpc - JSON-RPC 2.0 HTTP 客户端实现
- KrakenD - 带有中间件的,高性能 API 网关框架
- micro - 微服务工具套件和分布式系统平台
- NATS - 轻量级、高性能微服务系统,用于微服务、物联网以及云
- raft - Raft 一致性协议的 Go 语言实现, 作者是 HashiCorp.
- raft - Raft 一致性协议的 Go 语言实现, 作者是 CoreOS.
- ringpop-Go - 可扩展、容错的应用层分片库
- rpcx - rpcx是一个类似阿里巴巴 Dubbo 和微博 Motan 的分布式的 RPC 服务框架
- sleuth - 在 HTTP 服务之间进行无主 p2p 自动发现和 RPC通信(使用 ZeroMQ).
- tendermint - 一个高性能的中间件,用于将任何语言编写的状态机转换为一个拜占庭容错状态机,使用Tendermint 一致性及区块链协议
- torrent - BitTorrent 客户端
- dht - BitTorrent Kademlia DHT 的实现.
- Go-peerflix - 视频流 torrent 客户端
电子邮件
用于创建和发送电子邮件的库
嵌入式脚本语言
在你的 Go 代码中嵌入其他语言.
文件
用于处理文件和文件系统的库
财经
会计及财务库
表单
操作表单的库
- bind - 将表单数据绑定到任意的 Go 变量上
- binding - 将来自 net/HTTP 请求的表单、JSON 数据绑定到结构体
- conform - 检查用户输入并基于结构标签来清理数据
- form - 解码 url 中的数据到 Go 语言变量中以及将 Go 语言变量编码进 url 支持Dual Array 及 Full map
- formam - 将表单数据解码到结构体
- forms - 框架无关的表单/JSON数据解析验证库,支持多部分表单及文件
- Gorilla/csrf - 为 Go 语言 web 应用提供 CSRF 防御
- nosurf - CSRF 防御中间件
游戏开发
超赞的游戏开发库
代码生成与泛型
一些增强语言的功能的工具例如通过代码生成支持泛型
Go 编译器
用于把 Go 语言编译为其他语言的工具
- Gopherjs - 把 Go 编译为 JavaScript.
- llGo - 基于 LLVM 的 Go 语言编译器
- tardisGo - Golang 转换为 Haxe 进而转换为 CPP/CSharp/Java/JavaScript 的编译器.
协程
用于管理和处理Go 语言协程的工具
GUI
用于构建 GUI 程序的库
工具包
- app - 使用Go, HTML 和 CSS 进行应用程序开发的库 支持 MacOS, Windows in progress.
- Go-astilectron - 使用 Go 以及 HTML/JS/CSS 构建应用程序. (基于Electron)
- Go-gtk - GTK 的 Go 语言接口
- Go-qml - QML 对 Go 语言的支持
- Go-sciter - Sciter 的 Go 语言接口 : 支持现代 GUI 程序开发的、嵌入式 HTML/CSS/脚本 引擎。跨平台。
- Goqt - Qt的 Go 语言接口
- Gotk3 - GTK3 的 Go 语言接口
- Gowd - 使用 Go, HTML, CSS 和 NW.js 语言进行快速、简单的桌面 UI 开发。跨平台
- qt - Qt 的 Go 语言接口 (支持 Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)
- ui - 平台原生 GUI 库。跨平台
- walk - windows 应用程序开发工具包
交互
硬件
库、工具以及教程,讲解如何操控硬件
参见 Go-hardware 获取更加全面的信息
图像
用于操作图像的库
物联网
用于为物联网设备编程的库.
日志
用于生成和操作日志文件的库.
- glg - glg 是一个简单、快速、分级的日志库
- glog - 分级记录日志的库
- Go-cronowriter 对日志文件进行自动循环写入的库基于当前日期和时间,类似 cronolog.
- Go-log - 支持多处理器及日志分级的库
- Go-log - Go 语言实现的 Log4j
- Go-logger - 支持日志分级的简单的日志工具
- Gologger - 简单易用的日志库,可以在彩色控制台、简易控制的、文件或 Elasticsearch 中记录
- Gomol - 支持多种输出,结构化的日志模块,可以扩展它的输出
- Gone/log - 快速、可扩展、全功能、兼容标准库的日志库
- log - 结构化日志库
- log - 简单、可配置、可扩展的结构化日志库
- log-voyage - 全功能日志saas 使用 Go 语言编写
- log15 - 简单强大的日志库
- logdump - 支持分级的日志库
- logex - Go 语言日志库,支持追踪和分级,基于标准库进行了封装
- logger - 一个极简的日志库
- logrus - 支持结构化的日志工具.
- logrusly - logrus 的插件,用于将错误发送到 Loggly.
- logutils - 对 Go 语言标准日志工具进行了扩展,使其更好用
- logxi - 十二要素 app 日志工具,非常快速,令你开心
- lumberjack - 简单的循环日志工具,实现了 io.WriteCloser.
- mlog - 一个简单的日志模块,可以分5级并有一个可选的循环日志文件记录功能,支持 stdout/stderr 输出.
- ozzo-log - 高性能日志库,支持日志严重级别、分类及过滤。可以将过滤后的信息发送到不同的目的地(例如: 控制台、网络、邮箱).
- seelog - 一个灵活的、解耦的、格式化的日志库
- slf - 简单日志门面(The Structured Logging Facade (SLF) ) (类似 SLF4J,但是它是结构化的,并且专为 Go 语言设计)
- slog - 为 Go 语言实现的结构化日志门面(Structured Logging Facade (SLF) )
- spew - 为 Go 语言的数据结构实现了一个整洁的打印功能,有助于调试
- stdlog - Stdlog 是一个面向对象的库,提供了分级日志功能,对于定时任务很有用.
- tail - 这个 Go 语言软件包力争模拟 BSD tail 的功能
- xlog - 插件架构以及灵活的日志系统,具有日志等级控制,多日志目标以及自定义日志格式功能
- xlog - 结构化日志 for
net/context
aware HTTP handlers ,可以灵活的分发
- zap - 快速的、结构化的、分级的日志库
- zerolog - 零分配 JSON 日志.
机器学习
机器学习库
消息
实现了消息系统的库
杂项
一些暂时无法归类的库
自然语言处理
用于处理人类语言的库
网络
用于在不同网络层工作的库
- arp - 实现了 ARP 协议,遵循 RFC 826.
- buffstreams - 简单易用的 protocolbuffer 数据流,基于 TCP
- canopus - CoAP 客户端/服务器实现 (RFC 7252)
- dhcp6 - dhcp6 实现了一个DHCPv6 服务器,遵循RFC 3315.
- dns - 用于处理 DNS 的 Go 语言库
- ether - 跨平台 Go 语言库,用于发送和接收以太帧
- ethernet - ethernet 实现了IEEE 802.3 Ethernet II 帧以及IEEE 802.1Q VLAN 标签的组装和剥离.
- fasthttp - fasthttp 是一个快速的 HTTP 实现,是 net/http的10倍性能
- ftp - ftp 实现了一个 FTP 客户端,遵循 RFC 959.
- Go-getter - 一个用于通过 URL 从多种源下载文件或目录的 Go 语言库
- Go-stun - Go 语言实现的 STUN 客户端 (RFC 3489 及 RFC 5389).
- Gobgp - Go 语言实现的BGP
- Golibwireshark - Golibwireshark 使用 libwireshark 库来解析 pcap 文件并且分析数据
- Gopacket - 用于报文处理的库
- Gopcap - libpcap的 Go 语言封装
- Goshark - Goshark 使用 tshark 来对 IP 报文进行解码并创建数据结构用于分析报文
- Gosnmp -用于执行 SNMP 操作的库
- Gotcp - 用于快速编写 tcp 应用的库
- grab - 管理文件下载的 Go 语言库
- graval - 试验性的 FTP 服务器框架
- jaziGo - JaziGo 是一个 Go 语言编写的工具,用于获取多种网络设备的配置.
- kcp-Go - KCP - 快速可靠的 ARQ 协议.
- kcptun - 超级简单、快速的 udp 通道,基于KCP 协议
- lhttp - 强大的 websocket 框架,可以更简单的构建你自己的 IM 服务器*
- linkio - 接口读写速度模拟器
- llb - 一个非常简单但快速的后端代理服务器。对于快速重定向到预定义域名很有用,无内存分配,响应速度快
- mdns - 简单的 mDNS (组播 DNS) 客户端/服务器库
- mqttPaho - Paho 客户端提供了一个 MQTT 客户端库,用于通过TCP, TLS 或 WebSockets 和 MQTT broker 建立连接
- portproxy - 简单的 TCP 代理,加入了对CORS 的支持
- publicip - publicip 库会返回你的公网 ip 地址 (互联网出口).
- raw - raw 允许你在设备驱动层读写网络接口的数据
- sftp - sftp 实现了https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.中描述的 SSH 文件传输协议
- ssh - 用于创建 SSH 服务器的高级 API (封装crypto/ssh).
- sslb - 一个超简单的负载均衡库,仅仅是一个为了获取一些性能目标的小项目
- tcp_server - 一个用于快速创建 tcp 服务器的库
- utp - Go uTP 微传输协议的实现
- water - 简单的 TUN/TAP 库
- winrm - Go WinRM 客户端,用于在 Windows 设备上远程执行命令
- xtcp - TCP 服务器框架,支持同时全双工通信。可以优雅的关闭,自定义协议
OpenGL
用于操作OpenGL的库.
- gl - OpenGL的 Go 语言接口
- glfw - GLFW 3 的 Go 语言接口
- Goxjs/gl - Go 语言跨平台 OpenGL 接口(OS X, Linux, Windows, browsers, iOS, Android).
- Goxjs/glfw - Go 语言跨平台 glfw 库,用于创建 OpenGL 上下文并接收事件
- mathgl - Go 语言 3D 数学库,专注于3D,受到 GLM 启发
ORM
实现对象关系映射或数据映射技术的库
- beeGo orm - 一个强大的 Go 语言 orm 框架,支持 pq/mysql/sqlite3.
- Go-pg - PostgreSQL ORM ,专注PostgreSQL 特定功能及性能
- Go-store - 简单快速的基于Redis 的键值对存储库
- Gomodel - 轻量级、快速的、类 orm 库,帮助你和数据库进行交互
- GoRM - 超棒的 Go 语言 ORM 库,对开发者非常友好
- Gorp - 关系持久的、类 orm 的 Go 语言库
- pop/soda - 数据库迁移、创建、ORM 等等,支持 MySQL, PostgreSQL, 以及 SQLite.
- QBS - 利用结构体进行标准查询,是一个 Go 语言 ORM
- reform - 一个更优秀的 ORM,基于非空接口和代码生成
- SQLBoiler - ORM 生成器。为你的数据库表单生成一个功能全面、快速的 ORM
- upper.io/db - 通过使用封装了成熟的数据库驱动的适配器,来使用单一接口与不同的数据源进行交互
- Xorm - 简单、强大的 Go 语言 orm
- Zoom - 超快的数据存储于查询引擎,基于 Redis 构建
包管理
用于进行包和依赖管理的库
- dep - Go 语言依赖工具.
- giGo - 类似 PIP 的依赖管理工具。支持私有仓库和哈希
- glide - 轻松管理你的 GO 语言包发布者以及发布包。 受到类似 Maven, Bundler, 和 Pip 这些工具的的启发
- Godep - Go 语言依赖工具,Godep 可以帮助开发者修复库的依赖关系
- Gom - Go Manager
- Goop - 简单的依赖管理工具,手到 Bundler 的启发
- Gopm - Go 包管理器
- Govendor - Go 包管理器。 Go 语言 vendor 工具,兼容标准 vendor 文件
- gpm - Go 语言包管理工具
- gvt -
gvt
是一个简单的发布管理工具(aka Go15VENDOREXPERIMENT), 基于 gb-vendor.
- johnny-deps - 极简的依赖版本管理工具,使用 git
- nut - Go 语言依赖管理
- VenGo - 创建并管理可以导出的,隔离的 Go 语言虚拟环境
查询语言
资源嵌入
- esc - 在 Go 语言程序中嵌入文件并为其提供 HTTP.FileSystem 接口
- fileb0x - 一个用于在 Go 语言程序中嵌入文件的工具,专注于可定制化和易用性
- Go-bindata - 一个用于将文件转换为可管理的 Go 语言代码的工具
- Go-embed - 生成用于嵌入资源文件到库或可执行文件的 Go 语言代码
- Go-resources - 一个简洁的 Go 语言资源嵌入工具
- Go.rice - Go.rice 是一个让你轻松使用 html,js,css,图片以及模板这类资源的库
- statics - 将静态资源嵌入到 Go 文件中,用于单独二进制编译+使用http.FileSystem + symlinks.
- statik - 将静态文件嵌入到 Go 语言可执行文件中
- templify - 将外部目标文件嵌入到 Go 代码中来创建单独的二进制文件
- vfsgen - 生成一个 vfsdata.Go 文件,静态实现了一个虚拟文件系统
科学及数据分析
用于科学计算和数据分析的库
安全
可以帮助你增强应用程序安全性的库
序列化
用于进行二进制序列化的库和工具
服务器程序
- algernon - HTTP/2 web 服务器,支持 Lua、Markdown、GCSS 和 Amber.
- Caddy - Caddy 是一个备选的 HTTP/2 web 服务器,配置简单,使用方便。
- consul - Consul 是一个用于服务发现、监控和配置的工具
- devd - 开发者使用的本地 web 服务器
- etcd - 高可用性的键值存储,用于分享配置和服务发现
- minio - Minio 是一个分布式对象存储服务器
- nsq - 一个实时的分布式消息平台
- yakvs - 小型化、网络化、基于内存的键值存储
模板引擎
模板库及工具
- ace - Ace 是一个 Go 语言的 HTML 模板引擎,受到了 Slim 和 Jade 的启发。 Ace 是对Gold的一种改进。
- amber - Amber 是一个优雅的模板引擎,受到 HAML 和 Jade的启发
- damsel - 标记语言,通过css选择器实现了 html 框架 ,并可以通过 pkg html/template 等进行扩展
- eGo - 轻量级模板语言,让你可以使用 Go 语言来创建模板。模板会被转化为 Go 语言并编译
- fasttemplate - 简单快速的模板引擎。进行模板元素替换时,速度是text/template的十倍
- Gofpdf - PDF 文档生成器,支持文本,绘图和图片
- grender - 对 html/template 进行了简单的封装,支持基于文件的模板可以利用其他模板文件进行扩展
- hero Hero 是一个趁手的、快速的、强大的 Go 语言模板引擎
- jet - Jet 模板引擎
- kasia.Go - 一个用于HTML 和其他文本文件的模板系统,使用go语言实现
- liquid - Go 语言实现的 Shopify Liquid 模板.
- mustache - Go 语言实现的 Mustache 模板语言
- ponGo2 - 类似 DjanGo 的模板引擎
- quicktemplate - 快速、强大且易用的模板引擎。将模板转化为 Go 语言并进行编译
- raymond - 使用 Go 语言实现的完整的 handlebars
- GoRazor - Go 语言的 Razor 视图引擎
- Soy - Go 语言实现的谷歌闭包模板(也就是 Soy templates) , 参见official spec
- velvet - 使用 Go 语言实现的完整的 handlebars
测试
测试及用于生成测试数据的库.
- 测试框架
- assert - 基础断言库,用于对 Go 语言程序进行测试,提供了一些用于自定义断言的代码块
- badio - Go 语言
testing/iotest
包的扩展
- baloo - 表达性强、多功能的、端到端的HTTP API 测试工具
- bro - 监控目录中的文件并对其进行测试
- dbcleaner - 清空数据库用于测试,受到
database_cleaner
的启发
- dsunit - 数据库测试,针对 SQL、 NoSQL、 结构化文件.
- frisby - REST API 测试框架
- ginkGo - BDD 测试框架
- Go-carpet - 用于在终端中查看测试覆盖率的工具
- Go-mutesting - Go 语言源代码突变测试(Mutation testing )
- Go-vcr - 记录并重放 HTTP 交互,用于快速的、确定性的、准确的测试
- Goblin - 类似 Mocha 的测试框架
- Gocheck - 更加高级的测试框架,用于替换 Gotest.
- GoConvey - BDD 风格的测试框架,具有 web 界面和计时刷新功能
- Godog - 类似 Cucumber 或 Behat 的 BDD 框架
- Gofight - 对 Go 语言的路由框架进行 API 测试
- Gomega - 类似 Rspec 的 matcher/assertion 库
- GoSpec - BDD 风格的测试框架
- Gospecify - 支持 BDD 语法 。对于任何使用过 rspec 等库的人来说应该非常熟悉
- Gosuite - 轻量级测试套,为 Go1.7's Subtests 带来了setup/teardown 功能
- Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
- httpexpect - 简洁的、声明式的、易用的端到端HTTP 及 REST API 测试
- restit - 帮助编写 RESTful API 集成测试的 Go 语言微型框架.
- testfixtures - 类似 Rails 的测试工具,用于测试数据库应用
- Testify - 对标准测试包的扩展
- wstest - Websocket 客户端,用于对于 websocket HTTP.Handler 进行单元测试
- Mock
- Fuzzing and delta-debugging/reducing/shrinking
- Selenium 及浏览器控制工具
- cdp - 类型安全的 Chrome debug协议的 Go 语言接口,可以用于浏览器或任何实现了该协议的其他待调试对象
- chromedp - 用于驱动和测试 Chrome, Safari, Edge, Android Webviews, 以及其他支持 Chrome 调试协议的产品
- ggr - 一个轻量级服务器,可以将 Selenium Wedriver 的请求路由或代理到多个 Selenium hubs.
- selenoid - Selenium hub 服务器的替代品,在容器中启动浏览器
文本处理
解析和操作文本的库
第三方 APIs
用于访问第三方 APIs 的库
实用工具
可以让你的生活变得更简单的实用工具.
- abutil - 常用 Go 语言工具的集合
- apm - Go 语言进程管理工具具有HTTP API.
- boilr - 一个超快的命令行工具,用于从模板文件生成项目
- circuitbreaker - Go 语言断路器模式
- clockwerk - 使用简单、流畅的语法来调度周期性任务
- command - 命令模式,支持线程安全的串行、并行调度
- coop - Go 语言中常见的并发流程速查表
- copy-pasta - 通用多工作站剪切板,使用类似 S3 的后端作为存储
- ctop - 类似Top的接口 (例如 htop) ,用于容器数据收集
- Death - 利用信号管理应用程序的关闭
- Deepcopier - 结构体拷贝
- delve - Go 语言调试器
- dlog - 编译时控制的日志,让你的 release 包变得更小而不需移除 debug 调用
- excelize - 用于读写 Microsoft Excel (XLSX) 文件的库
- fastlz - FastLz (免费,开源,可移植实时压缩库) 的一个封装
- filetype - 通过数字签名来推测文件类型
- filler - 使用 "fill" 标记来填充结构体的小工具
- fzf - 命令行模糊查找工具
- generate - 针对一个路径或环境变量,递归的执行 Go generate,可以通过正则表达式来进行过滤
- gentleman - 全功能、插件驱动的 HTTP 客户端库
- git-time-metric - 简单、无缝、轻量级的 Git 时间追踪工具
- GJSON - 一行代码获取 JSON
- Go-astitodo - 解析你 Go 语言代码中的 TODOs(待办事项)
- Go-bind-plugin - Go:generate 工具,用于构建 Go 语言插件(1.8 only),并对导出的符号进行包装
- Go-cron - 简单的 Go 语言 Cron 库,可以以不同的时间间隔来执行闭包或函数,从一秒到某年某月某日都可以。主要针对的是 Web 应用或者长期运行的守护进程
- Go-debug - 条件调试日志,用于 Go 语言库和应用程序
- Go-dry - DRY (don't repeat yourself)
- Go-funk - 现代 Go 语言工具库,提供了很多有用的工具 (map, find, contains, filter, chunk, reverse, ...)
- Go-httpheader - 用于将结构体编码进 http 头的 Go 语言库
- Go-rate - Go 语言版本的限速器
- Go-respond - 用于处理常见 HTTP JSON 响应的库.
- Go-sitemap-generator - XML 网站地图生成器
- Go-torch - 为 Go 语言程序生成火焰图
- Go-trigger - Go 语言全局事件触发器,通过 id 和触发器,在程序的任何地方注册事件
- Go-underscore - 一些有用的 Go 语言工具的集合
- Goback - 一个 Go 语言的简单的指数补偿包
- Godaemon - 用于编写守护进程的工具
- Godropbox - 用于编写 Go 语言服务/应用的库,来自 Dropbox.
- Gohper - 多种能够帮助你进行软件开发的工具和模块
- Gojq - 通过 Go 语言进行 JSON 查询
- Gojson - 通过 JSON 自动生成 Go 语言结构体
- Golarm - 告警(支持系统事件)
- Golog - 简单、轻量级的命令后工具,用于对你的计划任务进行跟踪
- Gopencils - 简单小巧的 Go 语言库,能够很容易的使用各种 REST APIs.
- Goplaceholder - 一个小巧的 Go 语言库用于生成占位图片
- Goreleaser - 尽可能快速的发布 Go 语言二进制文件
- Goreporter - 进行代码静态分析,单元测试,代码检视并生成代码质量报告的工具
- Goreq - 简洁的 Go 语言 http 请求库
- Goreq - 更加简化的 http客户端,基于 Gorequest.
- Gorequest - 简化的 http 客户端,具有丰富的特性
- Goseaweedfs - conseilSeaweedFS 客户端,几乎具有全部的特性
- Gotenv - 从
.env
或者任何 io.Reader
中加载环境变量
- Goxlsxwriter - 用于操作 XLSX (Microsoft Excel) 文件的 libxlsxwriter 库的 Go 语言接口
- gpath - 用于简化结构体域访问的库
- grequests - 简单优雅的
net/HTTP
封装,紧随 Python 的 requests 的步伐
- gron - 使用简单的 Go 语言 API 和 Gron 调度器创建定时任务
- htcat - 并行及流水线的 HTTP GET 工具
- httpcontrol - httpcontrol 包,运行进行 HTTP 传输层超时和重传控制
- hub - 封装了 git 命令,提供了额外的功能用于在终端中和 Github 进行交互
- hystrix-Go - 实现 Hystrix 风格的、程序员预定义的 fallback 机制(熔断)
- immortal - *nix 跨平台 (与操作系统无关的)监控程序
- intrinsic - 不需要编写任何汇编代码就能使用 x86 SIMD
- JobRunner - 智能的、多功能的定时任务调度器,具有任务队列和实时监控功能
- jsonapi-errors - JSON API errors 的 Go 语言接口.
- jsonf - 控制台工具,用于高亮及 JSON 查询功能
- jsonGo - 用于更加方便的构建 JSON 对象的 API
- jsonhal - 一个简单的 Go 语言软件包,用于将自定义结构体转换为 HAL 兼容的 JSON 响应
- kazaam - 用于传输任意 JSON 文件的 API
- lrserver - LiveReload 服务器
- mc - Minio Client 提供了一组工具,用于操作 Amazon S3 兼容云存储和文件系统
- merGo - 用于将结构体和map合并进 Go 语言的工具。对于配置默认值,避免杂乱的if语句很有帮助
- minify - 快速压缩 HTML, CSS, JS, XML, JSON 以及 SVG 文件格式
- mmake - 现代 Make 工具
- moldova - 基于输入目标生成随机数据的工具
- mp - 简单的命令行邮件解析器,当前支持标准输入并输出JSON.
- mssqlx - HA 客户端,用于主-从 (或主-主) 数据库,集成了简单的、轻量级的轮询调度负载均衡。基于 sqlx.
- multitick - 用于 aligned tickers 的多路复用
- netbug - 远程对你的服务进行性能分析
- ngrok - 创建到 localhost 的隧道
- okrun - 当 Go 文件运行报错时尝试修复并运行
- onecache - 支持多种后端存储的缓存库(Redis, Memcached, 文件系统等)
- panicparse - 将类似的协程分组并对调用栈进行着色
- peco - 简单的交互式过滤工具
- pester - Go HTTP 客户端,具有重传,补偿和并发功能
- pm - 基于 HTTP API 的进程管理 (i.e. Goroutine)
- profile - 一个简单的性能分析软件包
- rclient - 可读性良好、灵活、易用的 REST APIs 客户端
- realize - Go 语言构建系统,可以监控文件变化并重新加载。运行,构建,监控文件并支持自定义路径
- request - Go 语言版的 HTTP Requests for Humans™.
- rerate - 基于 Redis 的速率计数器和限速器
- rerun - 当源码变化时,重新编译并重新运行 Go 语言编写的 app
- resty - 简单的 HTTP 和 REST 客户端,受到 Ruby rest-client 的启发
- retry - 基于上下文的功能机制,反复执行命令直到成功
- robustly - 有弹性的执行函数,遇到错误时捕获并重新运行
- scheduler - 从容的进行 Cronjobs 任务调度
- sling - Go HTTP 请求构造器,用于 API 客户端
- spinner - 一个 Go 语言软件包,提供多种选项,方便在终端中创建加载动画
- sqlx - 为内建的数据库/sql 软件包提供一组扩展
- Storm - 一个用于 BoltDB 的简单又强大的工具
- Task - 简单来讲就是 "Make" 的替代品
- toolbox - 切片, map, multimap, 结构体, 函数,数据转换工具。服务路由,宏求值和标记器
- uGo - uGo 是一个切片工具箱,有着和 Go 语言一致的语法
- UNIS - Go 语言字符串处理函数的通用架构
- usql - usql 是一个通用的命令行接口,用于操作 sql 数据库
- util - 收集了很多有用的函数
- wuzz - 交互式命令行程序,用于进行 HTTP 检查
- xferspdy - Xferspdy 提供了二进制对比功能以及 Go 语言补丁库
- xlsx - 简化了在 Go 语言程序中读取 xml 格式文件的操作
验证
用于验证的库
版本控制
用于版本控制的库
- gh - 用于 GitHub Webhooks 的可编程服务器以及 net/HTTP 中间件
- git2Go - libgit2 的 Go 语言接口
- Go-vcs - 通过 Go 语言来操作和检视 VCS 代码仓库
- hGo - HGo 是一个 Go 语言软件包集合,提供了对本地 Mercurial 仓库的读取能力.
视频
用于操作视频的库
- gmf - FFmpeg av* 库的 Go 语言接口.
- Go-astisub - 使用 Go 语言操作字幕(.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
- Goav - 易用的 FFmpeg Go 语言接口
- gst - GStreamer 的 Go 语言接口
- v4l - Linux 下使用的视频截图库,Go 语言编写
Web 框架
全栈 web 框架
- aah - 可扩展、高性能、快速发布的 Go 语言 web 框架
- Air - 理想的 RESTful web 框架
- BeeGo - beeGo 是一个开源的、高性能的 Go 语言 web 框架
- Buffalo - 为 Go 语言带来堪比 Rails 的高生产效率
- Echo - 高性能、极简的 Go 语言 web 框架
- Fireball - 感觉更加自然的 web 框架
- Florest - 高性能的、基于工作流的 REST API 框架
- Gem - 简单快速的 web 框架,对 REST API 很友好
- Gin - Gin 是一个 Go 语言编写的 web 框架!提供了一组类似 martini 的 API ,具有更好的性能(40倍)。如果你需要高性能和高生产率,这个框架很适合你
- Gizmo - 纽约时报正在使用对微服务工具集
- Go-json-rest - 快速、简单的创建 RESTful JSON API.
- Go-relax - 具有可插拔组建的框架,用于构建 RESTful API's.
- Go-rest - Go 语言 REST 框架中的小恶魔
- Goa - 用于开发微服务的框架,基于 Ruby 的 Praxis 的设计
- Goat - 极简的 REST API 服务器
- Golf - Golf 是一个快速、简单、轻量级的 Go 语言微型 web 框架。具有强大的功能且没有标准库以外的依赖
- Gondola - 用于快速编写高性能网站的框架
- Gongular - 快速 Go web 框架,支持输入映射/验证以及依赖注入
- Macaron - Macaron 是一个高效的模块化设计的web框架
- manGo - ManGo 是一个模块化 web 应用框架,受到 Rack 和 PEP333 的启发
- Microservice - 用于创建微服务的框架,使用 Go 语言编写
- neo - 是一个极小且快速的 Go 语言 web 框架,具有及其简单的 API
- Resoursea - 用于快速编写基于资源对服务的 REST 框架
- REST Layer - 用于构建在数据库之上构建 REST/GraphQL API 且大多数配置都可以通过代码完成
- Revel - go语言高生产率框架
- rex - Rex 是一个用于进行模块化开发的库,基于Gorilla/mux 完全兼容大多数的
net/HTTP
.
- sawsij - 轻量级、开源的 web 框架,用于构建高性能、数据驱动的web应用
- tanGo - 微型的、支持插件的 web 框架
- tigertonic - 用于构建 JSON web 服务的 Go 语言框架,受到 Dropwizard 的启发
- traffic - 受到 Sinatra 启发的 Go 语言 web 框架
- utron - 轻量级的go语言 MVC 框架
- violetear - Go HTTP 路由库
- YARF - 快速的微型框架,用于快速、简单地构建 REST APIs 以及 web 服务
- Zerver - Zerver 是一个富有表达力的、模块化的、全功能的 RESTful 框架.
Windows
- d3d9 - Direct3D9 的 Go 语言接口
- Go-ole - 为 Go 语言实现的 Win32 OLE
XML
Libraries and tools for manipulating XML.
- Go-pkg-xmlx - 对 Go 语言 XML 标准库的扩展。维护来一个节点树,允许前进和后退浏览以及一些简单的单/多节点搜索函数
- XML-Comp - 简单的命令行 XML 比较工具,可以生成关于目录、文件和标签对差异信息
- xmlwriter - Procedural XML 生成 API 基于 libxml2 的 xmlwriter 模块.
- xpath - XPath 库
- xquery - XQuery 使你可以从 HTML/XML文档中抽取数据和求值,使用 XPath 表达式
中间件
中间件
用于创建 HTTP 中间件的库
- alice - 用于连接中间件的库,简单无痛苦
- catena - HTTP.Handler wrapper catenation (和chain具有相同的 API ).
- chain - Handler wrapper chaining with scoped data (net/context-based "middleware").
- Go-wrap - 小型中间件库,用于net/HTTP.
- Gores - 用于处理 HTML, JSON, XML 等。对于 RESTful APIs 很有用。
- interpose - 极简的 net/HTTP 中间件
- muxchain - 用于net/HTTP的轻量级中间件
- negroni - 符合语言习惯的 HTTP 中间件库
- render - 用于轻松渲染 JSON, XML, 及 HTML 模板响应的库
- rye - 小型 Go 语言中间件库 ,支持 JWT, CORS, Statsd, 及 Go 1.7 context
- stats - Go 语言中间件,用于存储web应用的多种信息
- Volatile - 极简的go语言中间件技术栈,强调灵活性、优秀实践及简洁代码
路由
- alien - 轻量级、超快速的 HTTP 路由,来自外星科技
- Bone - 轻量级快速 Fast HTTP Multiplexer.
- Bxog - 为go语言编写的简单快速点 HTTP 路由。能够配合多种不同复杂度、长度和嵌套的路由工作。同时它能够根据接收到的参数创建 URL
- chi - 小巧、快速、具有丰富表达力的 HTTP 路由,基于net/context.
- fasthttprouter - 从
httprouter
fork出来的高性能路由,是第一个适配 fasthttp
的路由
- Gocraft/web - Mux 及中间件包
- Goji - Goji 是一个极简的、灵活的HTTP 请求数据分选器,支持
net/context
.
- GoRouter - GoRouter 是一个服务器/API 微型框架、HTTP 请求路由 router, 数据分选器,提供了支持
net/context
的中间件
- Gowww/router - 超快的HTTP 路由,完全兼容 net/HTTP.Handler 接口.
- httprouter - 高性能路由。使用这个库和标准http处理工具可以构建一个非常高性能大web框架
- httptreemux - 高速,灵活,基于树的 HTTP 路由。受到了 httprouter 的启发
- lars - 树一个轻量级、快速、可扩展、零分配的HTTP路由,用于创建定制化的框架
- medeina - Medeina是一个HTTP路由树,基于 HttpRouter 。基于 Roda 和 Cuba.
- mux - 强大的 URL 路由和分发库
- ozzo-routing - 一个极快的go语言http路由,支持正则路由匹配。完全支持创建 RESTful APIs.
- pat - Sinatra 风格的模式 muxer ,用于go语言 net/http库,由 Sinatra的作者编写。
- pure - 是一个轻量级http路由,严格符合标准"net/HTTP"实现
- Siesta - 具有可组合性的框架,用于编写中间件和 handlers
- vestiGo - 高性能、独立的、符合 HTTP 标准的 URL 路由,用于构建go语言web应用
- xmux - 高性能 muxer,基于
httprouter
,支持 net/context
- zeus - 非常简单快速的http路由
工具
Go语言软件及插件
代码分析
- apicompat - 检测一个go语言项目最近的变化,用于监测不能向后兼容的改动
- dupl - 用于检测重复代码的工具
- errcheck - Errcheck 是一个用于检测go语言程序中未处理错误的程序
- gcvis - 实时地将 Go 语言垃圾回收进行可视化
- Go Metalinter - Metalinter 会自动应用全部的静态分析工具,并生成形式一致的分析报告
- Go-checkstyle checkstyle是一个代码风格检查工具,类似 java checkstyle 。这个工具就是受到 java checkstyle 和 Golint 的启发
- Go-cleanarch - Go-cleanarch 用于检查代码是否符合简洁架构的相关法则,比如依赖法则以及你的Go语言项目中各个库的交互情况
- Go-outdated - 这是一个命令行程序,用于显示过时的库
- Goast-viewer - 基于 Web 的 Golang AST 可视化工具.
- GoCover.io - GoCover.io 可以查看任何go语言软件包的代码覆盖率
- Goimports - 用于自动修复,添加,删除你的 Go 语言项目的 import
- GoLint - Golint 是一个针对 Go 语言源码的 lint 工具
- Golint online - 使用golint对GitHub, Bitbucket 以及 Google Project Hosting上面的 Go 语言源文件进行静态分析
- Goreturns - 添加零值 return 语句以符合函数返回值类型
- Gosimple - Gosimple 是一个针对 Go 语言的lint工具,专注于简化代码
- Gostatus - 命令行工具,查看当前 Go 语言软件包仓库的状态
- interfacer - 可以提供接口类型建议的 Lint 工具
- lint - 将lint作为go语言测试的一部分来执行
- staticcheck - staticcheck is
Go vet
on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.
- unconvert - 从go语言代码中移除不必要的类型转换
- unused - unused 会检查 Go 语言代码中没有用到的常量,变量,函数和类型
- validate - 自动验证结构体类型
编辑器插件
Go 语言工具
- colorGo - 对
Go
命令进行了封装,用于为Go build
的输出结果添加颜色
- depth - 通过分析导入的库,将某个包的依赖关系用树状结构进行显示
- gb - 一个简单易用的基于项目的构建工具,用于 Go 语言
- Go-callvis - 使用 dot 语言将你的 Go 语言程序函数调用关系可视化
- Go-pkg-complete - Bash 代码补全,用于Go 和 wGo.
- Go-swagger - 为 Go 语言实现的Swagger 2.0, Swagger 是一个简单但强大的工具,用于展示你的 RESTful API.
- OctoLinker - 使用 github 的浏览器插件 OctoLinker 高效浏览 Go 语言文件
- rts - RTS(是response to struct的缩写)用于根据服务器的响应生成 Go 语言结构体
软件包
使用 Go 语言编写的软件
DevOps 工具
- aptly - aptly 是一个 Debian 库管理工具
- aurora - 跨平台、基于web的 Beanstalkd 队列服务器控制台
- awsenv - 加载 Amazon (AWS) 环境变量作为 profile 文件
- Banshee - 异常检测系统,用于周期性数据测量
- bombardier - 快速的、跨平台的HTTP 基准工具.
- bosun - 时间序列告警框架
- doGo - 监控源文件中的变化并自动编译和执行
- drone-jenkins - 触发下游 Jenkins 任务, 可以通过二进制文件、 docker 或者 Drone CI来使用
- drone-scp - 通过 SSH 拷贝文件及可执行程序,可以通过二进制文件、 docker 或者 Drone CI来使用
- Dropship - 通过 cdn 部署代码的工具
- easyssh-proxy - 一个用于通过 ssh 远程执行命令以及通过
ProxyCommand
来进行 SCP 下载
- Gitea - Gogs的fork,完全社区驱动
- Go Metrics - Coda Hale 的 Metrics library的 Go 语言接口: https://github.com/codahale/metrics.
- Go-selfupdate - 让你的 Go 语言程序可以自我更新
- Gobrew - Gobrew 让你可以在不同版本的 Go 语言之间轻松切换
- Godbg - 基于 Web 的前端 gdb 应用程序
- Gogs - 自我托管的Git服务
- Gonative - 为 Go 语言创建可以在多平台进行交叉编译的工具,使用 CGo-enabled 标准库
- Govvv - 对“Go build”进行了封装,用于轻松的向 Go 语言二进制文件中添加版本信息
- Gox - 非常简单的 Go 语言交叉编译工具
- Goxc - Go 语言构建工具,专注于交叉编译和打包
- grapes - 一款轻量级工具,用于通过 ssh 发送命令
- GVM - GVM 提供了用于管理 Go 语言版本的接口
- Hey - Hey 是一个微型程序,用于向 web 应用发送一些載荷
- kala - 极简、现代的、高效的任务调度
- kubernetes - 来自 Google 的容器集群管理器
- Moby - 为容器生态系统创建的一个合作项目,用于构建基于容器的系统
- Mora - REST 服务器,用于获取 MonGoDB 文件和元数据
- ostent - 收集并显示系统数据,可以作 Graphite 和/或 InfluxDB 的中继
- Packer - Packer 通过单一的配置文件,为不同的平台创建独立机器镜像
- Pewpew - 灵活的 HTTP 命令行压力测试 工具
- Rodent - Rodent 帮助你管理 Go 语言版本,项目病追踪依赖
- s3Gof3r - 为了从 Amazon S3中高速存取大型对象而特别优化的库
- Scaleway-cli - 通过命令行来管理 BareMetal 服务器 (和使用 Docker 一样容易).
- sg - 对一组 HTTP 端点 (比如 ab)进行了基准测试, with possibility to use the reponse code and data between each call for specific server stress based on its previous response.
- StatusOK - 监控你的网站和 REST APIs。如果你的服务器挂了或是响应时间超过预期,则会通过 Slack, E-mail 来通知你
- Vegeta - HTTP 加载测试工具和库
- webhook - 允许用户创建 HTTP 端点,在服务器上执行命令
- Wide - 基于 Web 的 IDE,为使用 Go 语言的团队设计
- winrm-cli - 命令行工具,可以远程在 windows 机器上执行命令
其他软件
- borg - 基于终端的搜索引擎,用于搜索 bash 代码 片段
- boxed - 基于Dropbox 的博客引擎
- Cherry - Go 语言实现的一个微型网络聊天服务器
- Circuit - Circuit 是一个可编程的 PaaS 以及 IaaS,用于管理、发现以及编排各种云端应用的服务及主机
- Comcast - 模拟不佳的网络连接
- confd - 使用 etcd 或 consul 的模板及数据管理本地应用的配置文件
- DDNS - 个人 DDNS 客户端,使用 Digital Ocean DNS 作为后端
- Docker - 一个为开发者和系统管理员提供的分布式应用开放平台
- Documize - 现代维基百科软件,可以继承 SaaS 工具提供的数据
- fleet - 分布式初始化系统
- Go Package Store - 一个可以显示你的 GoPATH 路径下 Go 软件包的更新的应用
- Gocc - Gocc 是一个用 Go 语言编写的 Go 语言编辑器工具集
- GoDocTooltip - 一个Chrome 浏览器扩展,可以在浏览 Go 语言文档时以工具提示的方式显示函数的描述信息
- Gogland - 跨平台、全功能 Go 语言集成开发环境
- Gor - Http 流量复制工具,用于将生产环境的流量在开发环境实施重现
- hsync - 文件系统同步工具
- huGo - 快速、现代的静态 web 引擎
- ipe - 开源 Pusher 服务器,Go 语言编写,兼容 Pusher 客户端,由 Go 语言编写
- JayDiff - Go 语言编写的JSON对比工具
- Juju - 服务部署及编排工具,,支持 EC2, Azure, Openstack, MAAS 等等
- Leaps - 结对编程服务,使用操作变换来避免冲突。
- limetext Lime Text 是一个强大又优雅的编辑器,主要使用 Go 语言开发,意在成为 Sublime Text的继承者。
- LiteIDE - LiteIDE 是一个简单、开源、跨平台的 Go 语言 IDE
- mockingjay - 伪 HTTP 服务器,通过单一配置文件创建消费驱动。同时你还可以让服务器搞点事情,以进行更加符合现实情况的性能测试
- myLG - Go 语言编写的命令行网络诊断工具
- naclpipe - 简单的基于NaCL EC25519 的加密管道工具
- nes - Go 语言编写的任天堂娱乐系统(NES)模拟器
- orange-cat - Go 语言编写的 Markdown 预览工具
- peg - Peg(Parsing Expression Grammar)是一个 Packrat parser generator 的实现
- Postman - 一个批量发送邮件的命令行工具
- restic - 解耦备份程序
- rkt - App 容器运行时,集成了初始化系统,和其他容器兼容,比如 Docker,并且支持其他执行引擎,例如 KVM
- Seaweed File System - 快速、简单、可扩展的分布式文件系统,具有O(1)的磁盘查找效率
- shell2http - 通过 HTTP 服务器执行 shell 命令行(用于原型验证或远程控制).
- snap - 强大的遥测框架
- Stack Up - Stack Up 是一个超级简单的开发工具,就好比是服务器网络的 ‘make’ 工具
- syncthing - 开源、去中心化的文件同步工具和协议
- Tenyks - 面向服务的 IRC 机器人,使用 Redis 和 JSON 来发送消息
- toto - Go 语言编写的简单代理服务器,可以和浏览器一起使用
- toxiproxy - 模拟网络和系统状态的代理,用于自动化测试
- tsuru - 可扩展的、开源的 SAAS 软件
- vFlow - 高性能、可扩展、可靠的 IPFIX, sFlow 和 Netflow 集合.
- websysd - 基于 web 的进程管理工具(类似 Marathon 或 Upstart).
- wellington - Sass 项目管理工具, 通过支持一些功能(例如Compass)扩展了这门语言
资源
可以找到新的 Go 语言库和软件的地方
基准测试
会议
E-Books
网站
教程