Golang中文资源大全

Posted 码洞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang中文资源大全相关的知识,希望对你有一定的参考价值。

Awesome Go

    音频和音乐

    用于操作音频的库

    • flac - 原生 Go FLAC 解码器

    • flac - 原生 Go FLAC 解码器

    • gaad - 原生 Go AAC 比特流解析器

    • Go-sox - libsox 的 Go 语言接口

    • Go_mediainfo - libmediainfo的 Go 语言接口

    • Gosamplerate - libsamplerate 的 Go 语言接口

    • id3v2 - 快速且稳定的 ID3 解析及写入库

    • mix - 基于序列的 Go 语言混音器,可用于音乐 app。

    • mp3 - 原生 Go MP3 解码器

    • music-theory - Go 语言编写的音乐理论模型

    • PortAudio - 音频 I/O 库的 Go 语言接口

    • portmidi - PortMidi 的 Go 语言接口

    • taglib - taglib 的 Go 语言接口

    • vorbis - "原生" Go Vorbis 解码器 (使用 CGo, 但是没有其他依赖).

    • waveform - 一个可以通过音频流生成波形图像的包

    命令行

    标准命令行交互

    用于构建标准或基础命令行应用的库

    • 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 - Go readline-like library for命令行交互

    • 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 - 为命令行程序提供简单的菜单结构选项,供用户进行选择

    高级控制台界面

    用于构建命令行程序以及控制台界面的库

    • aurora - ANSI 终端颜色,支持 fmt.Printf/Sprintf

    • chalk - 符合直觉的用于美化命令行输出的库

    • color - 多功能的用于彩色化命令行输出的库

    • colourize - 用于实现 ANSI 彩色文本的 Go 语言库

    • Go-ataman - 用于渲染 ANSI 彩色文本模板的库

    • Go-colorable - Windows 上使用的可以输出彩色文本的库

    • Go-colortext - 用于在终端进行多彩文字输出的库

    • Go-isatty - Go 语言使用的 isatty

    • Gocui - 一个用于构建控制台界面的极简的 Go 语言库

    • Gommon/color - 多样的命令行文本

    • mpb - 为命令行提供多个进度条的工具

    • termbox-Go - Termbox 是一个用于构建跨平台的、与文本的交互界面的库

    • termtables - Ruby 库的 Go 语言接口

    • terminal-tables 用于生成简单的 ASCII 表格,同时支持 markdown 和 html 输出

    • termui - Go 终端控制面板,基于 termbox-Go 并受到了blessed-contrib的启发

    • uilive - 用于实时更新终端输出的库

    • uiprogress - 一个很灵活的用于渲染进度条的库

    • uitable - 一个用于改善命令行中表格数据可读性的库

    配置

    用于进行配置解析的库

    • 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 配置工具。 Keep you config structs along the code they configure and delegate parsing to submodules without sacrificing full config serialization.

    • hjson - 人性化的JSON,一个便于程序员使用和阅读的配置文件格式。更加轻松的语法,更少的错误和更多的注释

    • inGo - 将配置标记持久化到一个类似 ini 的文件中

    • ini - 用于读写INI 文件的库

    • joshbetz/config - 消息配置库,可以解析环境变量、JSON 文件并根据SIGHUP自动重新载入

    • mini -用于解析类 ini 文件的库

    • store - 轻量级配置管理

    • viper - 长牙的(这个库名叫毒蛇)Go 语言配置工具

    • xdg -遵守 XDG 标准 的配置工具

    数据结构

    通用数据结构及算法

    • binpacker - 二进制数据封包拆包工具,帮你构建自定义的二进制数据流

    • bit - Go 语言集合数据结构。提供了额外的位操作功能

    • bitset - 实现了bitset的 Go 语言包.

    • bloom - Go 语言实现的bloom filter

    • bloom - Go 语言实现的bloom filter

    • boomfilters - Probabilistic data structures for processing continuous, unbounded streams

    • count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).

    • cuckoofilter - Cuckoo 过滤器: 一个用go语言实现的计数布隆过滤器的替代品

    • encoding - 整型压缩库

    • Go-adaptive-radix-tree - Go 语言实现的自适应基数树

    • Go-datastructures - 一组有用的、高性能的、线程安全的数据结构

    • Go-geoindex - 基于内存存储的地理索引

    • Go-rquad - 区域四叉树,支持有效点位置和领域发现

    • Gods - Go 语言数据结构、容器、集合、列表、栈、键值对、 BidiMaps、树、HashSet 等

    • Golang-set - 线程安全和非线程安全的高性能集合

    • Goskiplist - Go语言实现的跳跃表

    • Gota - 为go语言实现了数据帧,序列以及数据噪音的方法

    • hilbert - 用于映射空间填充曲线(例如希尔伯特曲线和皮亚诺曲线)和数值的库。

    • hyperloglog - HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.

    • levenshtein - 编辑距离(levenshtein distance)和相似性度量, with customizable edit costs and Winkler-like bonus for common prefix.

    • levenshtein - Go语言实现计算编辑距离

    • mafsa - Go语言实现的MA-FSA ,包含最小完美哈希

    • merkletree - 实现了梅克尔树,提供了一种高效、安全的数据结构内容验证方法

    • roaring - 实现了压缩 bitsets 的Go语言库

    • skiplist - Go语言实现的跳跃表

    • trie - Go语言实现的Trie树

    • ttlcache - In-memory LRU string-interface{} map with expiration for Golang

    • willf/bloom - 实现了布隆过滤器的库

    数据库

    • Go 语言实现的数据库*

    • BigCache - 为gigabytes量级数据设计的高效键/值缓存

    • bolt - 底层键值数据库

    • buntdb - 快速,可嵌入的,内存键值数据库,可定义索引及spatial

    • cache2Go - 基于内存存储的键值缓存,支持自动基于超时的自动失效

    • cockroach - 可扩展的、一致的事务型数据库

    • couchcache - RESTful 缓存微服务,基于Couchbase

    • dgraph - 可扩展的、分布式的、低延时、高吞吐的图数据库

    • diskv - 具有disk-backed 功能的持久化键值存储

    • eliasdb - 无依赖、事物型图数据库,支持 REST API、短语搜索以及类 SQL 的查询语言

    • forestdb - ForestDB 的 Go语言借口

    • GCache - 支持缓存过期、 LFU、 LRU 和 ARC的缓存库

    • geocache - 基于内存存储的缓存,适用于分布式部署的应用

    • Go-cache - 内存键值存储/缓存库,适用于单机程序

    • Goleveldb - 使用 Go 语言实现的 LevelDB

    • groupcache - Groupcache 是一个缓存及缓存填充库,在很多情况下用于替代memcached.

    • influxdb - 用于计量、事件及实时分析的、可扩展的数据库

    • ledisdb - Ledisdb 是一个高性能 NoSQL 数据库,类似 Redi

    • leviGo - LeviGo 是 LevelDB的 Go 语言封装

    • moss - Moss是一个简单的 LSM 键值存储引擎,100% Go 语言实现

    • piladb - 轻量级 RESTful 数据库引擎,基于堆栈结构

    • prometheus - 监控系统及时间序列数据库

    • rqlite - 基于 SQLite 的轻量级的、分布式的关系型数据库

    • Scribble - 小巧的JSON 文件存储

    • tempdb - 临时数据的键值对存储

    • tidb - TiDB 是一个分布式的 SQL 数据库。受到了Google F1的启发

    • tiedot - 基于 Go 语言的 NoSQL 数据库

    • Tile38 - 地理位置数据库 DB with spatial index 及实时地理围栏

    数据库迁移

    • 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 将数据库迁移嵌入应用程序

    数据库工具

    • Go-mysql - 用于处理 MySQL 协议及复制的Go语言工具集.

    • Go-mysql-elasticsearch - 将你的 MySQL 数据自动同步到 Elasticsearch

    • kingshard - kingshard 是一个Go语言编写的高性能 MySQL 数据库代理

    • myreplication - MySql 二进制log复制监听器,支持基于语句和基于行的复制

    • orchestrator - MySQL复制拓扑管理器及可视化工具

    • pgweb - 基于Web的 PostgreSQL 数据库浏览工具

    • pREST - 通过任何PostgreSQL数据库提供 RESTful API

    • vitess - vitess 提供了能够使大型web服务 MySQL 数据库的扩展变得更加容易的服务器及工具

      用于创建和使用SQL的库

    • dat - Go语言 Postgres 数据库工具集

    • Dotsql - 一个Go语言库,帮助你将sql文件保存在一个地方并且方便的取用

    • Goqu - 地道的 SQL 语句创建器和查询库

    • iGor - PostgreSQL 的抽象层,支持高级功能以及类 Gorm 的语法

    • ozzo-dbx - Powerful data retrieval methods as well as DB-agnostic query building capabilities.

    • scaneo - 生成用于将数据库行转换为任意结构体的Go代码

    • sqrl - SQL 查询创建器,是 Squirrel 的一个fork版本,进行了性能方面的优化

    • Squirrel - 一个帮助你构建 SQL 查询的库

    • xo - 基于已知的数据库表或自定义查询生成地道的Go语言代码,支持PostgreSQL, MySQL, SQLite, Oracle, 以及Microsoft SQL Server.

    数据库驱动

    用于连接和操作数据库的库

    • 关系型数据库

      • avatica - Apache Phoenix/Avatica SQL 驱动

      • bgc - 数据库连接工具包,用于通过go语言访问BigQuery

      • firebirdsql - Firebird RDBMS SQL 驱动

      • Go-adodb - Microsoft ActiveX 对象数据库驱动

      • Go-bqstreamer - BigQuery fast and concurrent stream insert.

      • Go-mssqldb - go语言Microsoft MSSQL 驱动

      • Go-oci8 - Oracle 驱动

      • Go-sql-driver/mysql - go语言MySQL驱动

      • Go-sqlite3 - go语言的SQLite3 驱动

      • Gofreetds Microsoft MSSQL 驱动。 FreeTDS的go语言封装

      • pgx - PostgreSQL 驱动,支持比database/sql更多的特性

      • pq - 纯Go语言编写的Postgres 驱动

    • NoSQL 数据库

      • aerospike-client-Go - Aerospike 客户端

      • aranGolite - AranGoDB 的轻量级 Go 语言驱动

      • asc - 用于go语言连接 Aerospike

      • cayley - 支持多种后端的图数据库

      • dsc - 数据库连接工具包,支持SQL, NoSQL及结构化文件

      • dynaGo - DynaGo is a principle of least surprise client for 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 客户端

    • 搜索及分析数据库

      • bleve - 现代文本索引库

      • elastic - Go 语言的 Elasticsearch 客户端

      • elasticsql - 将 sql 转换为 elasticsearch dsl

      • elastiGo - Elasticsearch 客户端库

      • Goes - 用于和 Elasticsearch 交互的库

      • skizze - 概率相关数据结构服务和存储

    日期和时间

    处理日期和时间的库

    • carbon - 简单的时间扩展程序,有很多有用的方法,是 php Carbon 库的接口

    • durafmt - 持续时间格式化

    • feiertage - 一组计算德国公共假期的函数,比如复活区、感恩节。。。

    • Go-persian-calendar - 太阳历

    • Goweek - 处理星期的库

    • now - Now 是一个 Go 语言的时间工具集

    • NullTime -时间可以是 NULL 的库

    • timeutil - 为 Go 语言时间包扩展了有用的功能,例如时间间隔和格式化

    分布式系统

    用于构建分布式系统的库

    • celeriac - Library for adding support for interacting and monitoring Celery workers, tasks and events in Go

    • drmaa - Job submission library for cluster schedulers based on the DRMAA standard.

    • flowgraph - MPI-style ready-send coordination layer.

    • gleam - Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed.

    • glow - 简单易用、可扩展的Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, 所有功能均由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 代码中嵌入其他语言.

    • aGora - 一种动态类型的可以嵌入 Go 中的编程语言

    • anko - Go 语言编写的解释器

    • binder - Lua 接口, 基于 Gopher-lua

    • gisp - Simple LISP

    • Go-duktape - Duktape javascript 引擎的 Go 语言接口

    • Go-lua - Port of the Lua 5.2 VM to pure Go

    • Go-php - PHP 的 Go 语言接口

    • Go-python - CPython C-API 的 Go语言接口

    • Golua - Lua C API。的 Go 语言接口

    • Gopher-lua - Go语言编写的 Lua 5.1 虚拟机和编译器

    • ngaro - 可嵌入的 Ngaro 虚拟机实现,支持在Retro中使用脚步

    • otto - Go 编写的 Javascrip解释器

    • purl - 嵌入Go语言的Perl 5.18.2

    文件

    用于处理文件和文件系统的库

    • afero - 一个文件系统的抽象系统

    • Go-csv-tag - 使用 tag 导入 csv

    • Go-gtfs - 加载gtfs文件

    • notify - 文件系统提示库,具有简单的 API ,类似os/signal.

    • skywalker - 允许你简单方便的并发浏览文件系统

    • tarfs - 为 tar 文件实现的 FileSystem 接口

    表单

    操作表单的库

    • 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 防御中间件

    游戏开发

    超赞的游戏开发库

    • Azul3D - Go 语言编写的 3D 游戏引擎

    • Ebiten - Go 语言编写的简单的 2D 游戏库

    • enGo - EnGo 是一个开源的 2D 游戏引擎,遵循实体-组件-系统范式

    • GarageEngine - 2d 游戏引擎,利用OpenGL 工作

    • glop - Glop (Game Library Of Power) 是一个很简单的跨平台游戏库

    • Go-astar - Go 语言实现的 A* 寻路算法

    • Go-collada - 操作 Collada 文件格式的 Go 语言库

    • Go-sdl2 - Simple DirectMedia Layer的 Go 语言接口

    • Go3d - 专注性能的 2D/3D 数学库

    • Gonet - Go 语言实现的游戏服务器框架

    • Leaf - 轻量级游戏服务器框架

    • Pixel - 手工2D 游戏引擎库

    • raylib-Go - raylib的 Go 语言接口,简单、易用的用于学习游戏编程的库

    • termloop - 终端游戏引擎,基于Termbox

    代码生成与泛型

    一些增强语言的功能的工具例如通过代码生成支持泛型

    • efaceconv - 代码生成工具,用于高效的将 interface{} 转换为不可变类型,不需要进行任何内存分配

    • gen - 代码生成工具,用于提供类似泛型的功能

    • Go-linq - 类似.NET LINQ的查询方法

    • interfaces - 命令行工具,用于生成接口定义

    • jennifer - 不适用模板生成任意 Go 语言代码

    • pkgreflect - 用于包作用域反射的 Go 语言预处理器

    Go 编译器

    用于把 Go 语言编译为其他语言的工具

    • Gopherjs - 把 Go 编译为 JavaScript.

    • llGo - 基于 LLVM 的 Go 语言编译器

    • tardisGo - Golang 转换为Haxe 进而转换为 CPP/CSharp/Java/JavaScript 的编译器.

    协程

    用于管理和处理Go 语言协程的工具

    • Go-floc - 轻松编排 Go 语言协程

    • Go-flow - 控制 Go 语言协程的执行顺序

    • Goworker - Goworker 是一个基于 Go 语言的后台worker

    • grpool - 轻量级 Go 语言协程池

    • pool - Limited consumer Goroutine or unlimited Goroutine pool for easier Goroutine handling and cancellation.

    • semaphore - Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.

    • tunny - 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 应用程序开发工具包

    交互

    • Gosx-notifier - OSX 桌面提醒库

    • robotGo - 跨平台 GUI 自动化;控制鼠标、键盘及其他设备

    • systray - 一个跨平台的 Go 语言库,用于在桌面提醒区域放置按钮及菜单

    • trayhost - 一个跨平台的 Go 语言库,用于在主机系统任务条区域放置按钮及菜单

    硬件

    库、工具以及教程,讲解如何操控硬件

    参见 Go-hardware 获取更加全面的信息

    图像

    用于操作图像的库

    • bild - 汇集了使用 Go 语言编写的图像处理算法

    • bimg - 利用libvips进行快速高效的图像处理

    • geopattern - 从字符串创建优美的图样

    • gg - 使用 Go 编写的2D 渲染程序

    • gift - 一组图像处理滤波器

    • Go-cairo - cairo 图形库的 Go 语言接口

    • Go-gd - GD 库的 Go 语言接口

    • Go-nude - 使用 Go 语言进行裸替检测

    • Go-opencv - OpenCV 的 Go 语言接口

    • Go-webcolors - webcolors 库的 Go 语言接口

    • imagick - ImageMagick 的 MagickWand C 语言 API 的 Go 语言接口

    • imaginary - 快速且简单的 HTTP 微服务,用于图像缩放

    • imaging - 简单的 Go 语言图像处理包

    • img - 图像操作工具精选集

    • ln - 3D line art rendering in Go.

    • mpo - MPO 3D 照片解码与转换工具.

    • picfit - 一个使用 Go 语言编写的图片缩放服务器

    • pt - 光线追踪引擎

    • resize - 使用 Go 语言编写的具有常见差值功能的图片缩放工具

    • rez - 纯 Go 及 SIMD 实现的图像缩放库

    • smartcrop - 为任意图片进行剪裁的工具

    • svGo - 用于生成 SVG 的 Go 语言库

    • tga - tga 是一个 TARGA 图像格式解码/编码器

    物联网

    用于为物联网设备编程的库.

    • connectordb - 开源个人数据及物联网平台

    • devices - 物联网设备套件库

    • eywa - Eywa 是一个持续追踪所有连接设备的连接管理器

    • floGo - FloGo是一个用于物联网 Edge App 及集成的开源框架

    • gatt - Gatt 是一个用于创建低功耗蓝牙外设的库

    • Gobot - Gobot 是一个用于机器人,物理计算以及物联网的库

    • mainflux - 工业网物联网消息及设备管理服务器

    • sensorbee - 轻量级物联网流处理引擎

    日志

    用于生成和操作日志文件的库.

    • 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 plug-in to send errors to a Loggly.

    • logutils - 对 Go 语言标准日志工具进行了扩展,使其更好用

    • logxi - 12-factor app logger that is fast and makes you happy.

    • 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 - Implements a deep pretty printer for Go data structures to aid in debugging

    • stdlog - Stdlog 是一个面向对象的库,提供了分级日志功能,对于定时任务很有用.

    • tail - 这个 Go 语言软件包力争模拟BSD tail的功能

    • xlog - 插件架构以及灵活的日志系统,具有日志等级控制,多日志目标以及自定义日志格式功能

    • xlog - Structured logger for net/context aware HTTP handlers with flexible dispatching.

    • zap - 快速的、结构化的、分级的日志库

    • zerolog - 零分配 JSON 日志.

    机器学习

    机器学习库

    • bayesian - 贝叶斯分类器

    • CloudForest - 纯 Go 语言编写的快速、灵活、多线程决策树

    • gaGo - 多种群,灵活的,并行的遗传算法

    • Go-fann - 快速人工神经网络库(FANN)的Go语言借口.

    • Go-galib - Go语言编写的遗传算法库

    • Go-pr - go语言模式识别库

    • Gobrain - go语言编写的神经网络

    • Godist - 多种概率分布及相关方法

    • Goga - go语言遗传算法库

    • GoLearn - go语言通用机器学习库

    • Golinear - liblinear 库的go语言接口

    • Goml - 即时go语言机器学习库

    • GoRecommend - go语言推荐算法库

    • GorGonia - 基于图的计算库,类似于Theano。提供了一些原型用于构建各种个样的机器学习和神经网络算法

    • libsvm - libsvm 的go语言版本,基于LIBSVM 3.14.

    • mlGo - 这个项目点目标是在go语言中提供极简的机器学习算法

    • neat - 即插即用的并行go语言框架,用于NeuroEvolution of Augmenting Topologies (NEAT).

    • neural-Go - go语言实现的多层感知神经网络,通过反向传播算法进行训练.

    • probab -概率分布函数。 贝叶斯推理。使用纯go语言编写

    • reGommend - 推荐系统及协同过滤引擎

    • shield - 贝叶斯文吧分类器,包含灵活的分词器和存储后端

    消息

    实现了消息系统的库

    • CentrifuGo - 实时消息服务器

    • dbus - D-Bus的 Go 语言接口

    • drone-line - 通过软件包,docker或是Drone CI来发送 Line 通知

    • emitter - 通过Go语言的方式发送事件消息,可以使用通配符,断言,取消发送等优秀特性

    • EventBus - 轻量级事件库,支持异步

    • gaurun-client - Go语言编写的Gaurun 客户端

    • Glue - 健壮的 Go 和 Javascript Socket 库 (可以用来替代 Socket.io).

    • Go-longpoll - 支持长轮询的发布与订阅

    • Go-notify - 原生实现的桌面通知规范

    • Go-nsq - NSQ官方Go语言库

    • Go-socket.io - Go语言的socket.io库 ,一个实时应用框架.

    • Go-vitotrol - Viessmann Vitotrol 服务的Go语言客户端

    • Gollum - 一个 n:m 的多路复用器,从不同的源汇聚消息并向目标进行广播

    • Golongpoll - HTTP 长轮询服务器库,让 web 发布与订阅变的更简单.

    • Goose - Go语言实现的服务器端事件发送

    • Gopush-cluster - Gopush-cluster 是一个Go语言实现的支持集群的comet服务(支持websocket,和tcp协议)

    • Gorush - Push notification server using APNs2 and Google GCM.

    • guble - 一个使用通知推送Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS)、websockets 、REST API 的消息服务器。提供了分布式操作和消息持久化特性

    • machinery - 异步任务队列,基于分布式消息处理

    • manGos - 纯 Go 语言实现的 Nanomsg ("Scalable Protocols")

    • melody - 用于处理websocket 会话的一个极简框架,包括广播和自动 ping/pong 处理

    • NATS Go Client - 轻量级高性能发布订阅(publish-subscribe) 以及分布式消息队列系统,这个一个Go语言库.

    • nsq-event-bus - 针对 NSQ 的主题和频道进行了简单的封装

    • oplog - 原生的 oplog/replication 系统,用于 REST APIs

    • pubsub - 一个简单的 pubsub 软件包

    • RapidMQ - RapidMQ 是一个轻量级,可靠的本地消息队列管理库

    • sarama - 用于Apache Kafka的库

    • Uniqush-Push - 基于Redis 的统一推服务,用于服务器端向移动客户端推送消息

    • zmq4 - ZeroMQ version 4的GO语言接口。也有适用于version 3 及 version 2的

    杂项

    一些暂时无法归类的库

    • alice - go语言依赖注入容器

    • archiver - 用于制作和解压 .zip 和 .tar.gz 文件的库和命令

    • autoflags - 通过结构体自动定义命令行标记的go语言软件包

    • avgRating - 利用Wilson Score Equation方程计算平均分及评级

    • banner - 在你的go语言应用中添加炫酷的横幅

    • battery - 跨平台电源信息库

    • bitio - 高度优化的比特级读写

    • browscap_Go - Browser Capabilities Project的go语言库

    • conv - conv 提供了一种快速且符合直觉的go语言类型转换

    • datacounter - Greaders/writer/HTTP.ResponseWriter 计数器

    • errors - 提供简单的错误处理

    • Go-chat-bot - IRC, Slack & Telegram 聊天机器人

    • Go-commons-pool - 通用对象池

    • Go-multierror - 这个Go 语言库用于将一系列的错误作为一个整体来显示

    • Go-openapi - 一些用于处理和利用open-api的库集合

    • Go-resiliency - go语言弹性模式

    • Go-sarah - 用于构建聊天机器人的框架,支持LINE, Slack, Gitter等等

    • Go-shortid - 超短的、唯一的、非序列的、对url友好的id

    • Go-unarr - 解压缩库,可用于RAR, TAR, ZIP 以及 7z 归档文件.

    • Go.uuid - 全球唯一标示符的实现(UUID),同时支持生成和解析

    • Gofakeit - go语言编写的随机数据生成器

    • Goid - 生成和解析符合 RFC4122 规定的 V4 UUIDs.

    • Gopsutil - 用于获取进程和系统资源利用率(cpu,内存,磁盘)的库,跨平台

    • Gosms - 你本地的SMS 网关,可以用来发送SMS

    • Gountries - 一个用来展示国家及其行政区划数据的库

    • hanu - 用于编写 Slack 聊天机器人的库

    • health - 简单易用、可扩展的健康检查库

    • indiGo - 唯一id生成器,使用 Sonyflake 并通过Base58进行编码

    • jobs - 持久化且灵活的后台任务库

    • margelet - 用于创建Telegram 聊天机器人的库

    • secdl - Lighttpd ModSecDownload alGorithm ported to Go to secure download urls.

    • slacker - 用于编写Slack 聊天机器人的库,非常易用

    • stats - 监控 Go 内存状态及系统状态,通过UDP将数据发送到任何地方

    • uuid - 生成,编解码UUIDs ,v1 with fast or cryptographic-quality random node identifier.

    • VarHandler - Generate boilerplate HTTP input and ouput handling.

    • werr - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called.

    • xkg - X Keyboard Grabber

    • xstrings - 一些有用的字符串函数的集合

    网络

    用于在不同网络层工作的库

    • 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 的支持

    • 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 语言虚拟环境

    查询语言

    • graphql - graphql 解析器 + 实用工具

    • graphql - Go 语言实现的 GraphQL

    • graphql - 专注于易用性的 GraphQL 服务器

    • graphql-Go - 为 Go 语言实现的 GraphQL

    • jsonql - JSON 查询表达式库

    资源嵌入

    • 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 文件,静态实现了一个虚拟文件系统

    科学及数据分析

    用于科学计算和数据分析的库

    • blas - BLAS (基础线性代数子程序 Linear Algebra Subprograms)的 Go 语言实现

    • chart - 简单的图表绘图库。支持多种图表类型

    • evaler - 简单浮点算数表达式求值器

    • ewma - 指数移动加权平均值

    • geom - 2D 几何

    • Go-dsp - 数字信号处理

    • Go-fn - 一些没有包含在 math pkg 中的数学函数

    • Go-gt - 图论算法

    • Go.matrix - 线性代数

    • Gocomplex - 复数库

    • Gofrac - Go 语言分数库,支持基本算术

    • Gohistogram - 数据流的近似直方图

    • Gonum/mat64 - 矩阵计算通用包。 mat64 提供了用于进行64位浮点基础线性代数操作的功能

    • Gonum/plot - Gonum/plot 提供了用于创建和绘制图表的 API

    • Goraph - 纯 Go 语言编写的图论库(数据结构,算法可视化)

    • Gostat - 统计库

    • graph - 包含基础图算法的库

    • ode - 普通微分方程 (ODE) 求解器。支持扩展状态及基于通道的迭代算法终止条件

    • pagerank - Go 语言实现的加权网页排名( PageRank)算法

    • PiHex - 贝利-波尔温-普劳夫公式("Bailey-Borwein-Plouffe")算法的实现,用于计算十六进制π

    • stats - 统计库,包含一些 Go 语言标准库中漏掉的常用函数

    • streamtools - 通用图形化工具,用于处理流数据

    • vectormath - 给 Go 语言用的 Vectormath , 是对索尼的矢量数学库中 C 语言函数的改写,可以在Bullet-2.79 源码中找到 (当前不活跃)

    安全

    可以帮助你增强应用程序安全性的库

    • acmetool — ACME (Let's Encrypt) 客户端工具,有自动延长功能.

    • BadActor - 一个驻留在内存中的,应用驱动的监控程序,受 fail2ban 的启发

    • Go-yara - YARA的 Go 语言接口,号称是 "对于恶意软件研究者(以及其他人)来说是模式匹配的瑞士军刀

    • leGo - 纯 Go ACME 客户端库及命令行工具

    • memguard - 一个用于处理内存中敏感数据的 Go 语言库

    • passlib - 不过时的密码哈希库

    • secure - Go 语言 HTTP 中间件,为Go提供了一些安全功能

    • simple-scrypt - Scrypt 库,具有简单、易懂的API,同时具有内置的自动校准功能

    • ssh-vault - 利用 ssh 秘钥加解密

    序列化

    用于进行二进制序列化的库和工具

    • asn1 - Asn.1 BER 及 DER 编码库

    • colfer - 用于生成 Colfer 二进制格式代码

    • Go-capnproto - Go语言用的 Cap'n Proto 库及解析器

    • bambam - 用于Go语言生成Cap'n Proto schemas 的生成器

    • Go-codec - 高性能、多功能、规范化编码解码以及 rpc 库, 用于 msgpack, cbor 和 json,支持基于运行时的 OR 码生成

    • GoGoprotobuf - Go 语言的 Protocol Buffer 库

    • Goprotobuf - 通过库和协议编译器插件使go语言支持 Google的 protocol buffers.

    • jsoniter -高性能,100%兼容的"encoding/json" 替代品

    • mapstructure - 用于对原生键值对进行解码生成go语言结构体

    • php_session_decoder - 用于协同 PHP session 格式数据和PHP 序列化/反序列化函数工作的go语言库

    • structomap - 用于从静态结构体简单、动态的生成键值对的库

    服务器程序

    • 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 outlining ,并可以通过 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](https://github.com/Go-playground/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

      • counterfeiter - 用于生成自包含mock 对象的工具

      • Go-sqlmock - Mock SQL ,用于测试数据库交互

      • Go-txdb - 基于单事物的数据库驱动,主要用于测试目的

      • Gock - 多功能、易用 HTTP mock

      • Gomock - 给 Go 语言用的Mock框架

      • Govcr - HTTP mock : 离线测试时记录和重放浏览器的动作

      • minimock - Mock 生成器

      • mockhttp - Go HTTP.ResponseWriter 使用的 Mock 对象

    • Fuzzing and delta-debugging/reducing/shrinking

      • Go-fuzz - 随机化测试系统

      • Gofuzz - 用于生成随机值来初始化 Go 语言对象的库

      • Tavor - 通用模糊测试框架

    • Selenium 及浏览器控制工具

      • cdp - 类型安全的 Chrome debug协议的 Go 语言接口,可以用于浏览器或任何实现了该协议的其他待调试对象

      • chromedp - 用于驱动和测试Chrome, Safari, Edge, Android Webviews, 以及其他支持 Chrome 调试协议的产品

      • ggr - 一个轻量级服务器,可以将Selenium Wedriver的请求路由或代理到多个Selenium hubs.

      • selenoid - Selenium hub 服务器的替代品,在容器中启动浏览器

    文本处理

    解析和操作文本的库

    • 特殊格式

      • allot - 占位符及通配符文本解析

      • bbConvert - 将 bbCode 转换为 HTML

      • blackfriday - Markdown 解析器

      • bluemonday - HTML 清理工具

      • editorconfig-core-Go - Go 语言用的Editorconfig 文件解析和操作库

      • enca - libenca的极简的 cGo 接口

      • genex - 计算并展开正则表达式为所有匹配的字符串

      • github_flavored_markdown - GitHub 风格的 Markdown 渲染器 (使用 blackfriday) ,支持代码块高亮以及可点击的锚点

      • Go-humanize - 时间、数字及内存大小格式化工具

      • Go-nmea - NMEA 解析库

      • Go-pkg-rss - 这个库可以读取 RSS 以及 Atom feeds,并且提供了一种缓存机制,遵守 feed 标准。

      • Go-runewidth - 用于获取字符或字符串固定宽度的函数

      • Go-vcard - 解析并且格式化vCard

      • Gofeed - 使用 Go 语言解析RSS 和 Atom

      • Gographviz - 用以解析 Graphviz DOT 语言

      • Gommon/bytes - 格式化二进制为字符串

      • Gonameparts - 将人名解析为几个独立的部分

      • Goq - 声明式 HTML 编组,使用结构标签和jQuery 语法 (使用 GoQuery).

      • GoQuery - GoQuery 为 Go 语言带来了一组类似jQuery的语法和功能

      • Goregen - 根据正则表达式生成随机字符串

      • Gotext - GNU gettext 工具

      • guesslanguage - 通过一个 unicode 文本来猜测该文本使用的语言

      • inject - inject 提供来一个基于反射对注入器

      • mxj - 编解码 XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.

      • sh - Shell 解析器及格式化工具

      • slug - URL友好的slug化工具,支持多种语言

      • toml - TOML 配置格式 format (encoder/decoder with reflection).

    • 工具

      • Gotabulate - 使用 Go 语言简单、美观的打印表格数据

      • kace - 通用大小写转换工具

      • parseargs-Go - 字符串参数解析器,能够理解引用及反斜杠

      • parth - URL 路径分割解析

      • radix - 快速的字符串排序算法

      • xurls - 从文本中提取 URL

    第三方 APIs

    用于访问第三方 APIs 的库

    • amazon-product-advertising-api - Amazon Product Advertising API 的 go 语言客户端

    • anaconda - Twitter 1.1 API 的 go 语言客户端

    • aws-sdk-Go - AWS 提供的官方go语言 SDK

    • brewerydb - 用于访问 BreweryDB API的 Go 语言库

    • cachet - Cachet (open source status page system)的 Go 语言客户端

    • circleci - 用于和 with CircleCI's API 进行交互的 Go 语言客户端

    • clarifai - 用语和 Clarifai API 交互的 Go 语言库

    • discordGo - Discord Chat API 的 Go 语言接口

    • facebook - 支持 Facebook Graph API 的库

    • fcm - Go library for Firebase Cloud Messaging

    • gads - Google Adwords 非官方 API

    • gami - Asterisk Manager Interface 库

    • gcm - Google Cloud Messaging 库

    • geo-Golang - 用于与 Google Maps, MapQuest, Nominatim, OpenCage, HERE, Bing, Mapbox, 及 OpenStreetMap 地理编码 / 反编码APIs交互的库

    • ghost - 用于和Snapchat API交互的库

    • github - 用于和 GitHub REST API v3 交互的库

    • githubql - 用于和GitHub GraphQL API v4 交互的库

    • Go-imgur - imgur 的 Go 语言客户端

    • Go-jira - Atlassian JIRA 的 Go 语言客户端

    • Go-marathon - 用于和 Mesosphere's Marathon PAAS交互的 Go 语言库

    • Go-myanimelist - 用于和 MyAnimeList API交互的库

    • Go-telegraph - Telegraph 发布平台 API 客户端

    • Go-tgbot - 纯Go语言的Telegram 机器人 API 封装,通过 swagger 文件,基会话的路由和中间件

    • Go-trending - 用于获取Github 上面 当前流行的代码库 及 开发者

    • Go-twitch - 用于和推特v3 API进行交互的 Go 语言客户端

    • Go-twitter - 用于和推特v1.1 API进行交互的 Go 语言客户端

    • Go-unsplash - Unsplash.com API 的 Go 语言客户端

    • Go-xkcd - xkcd API的 Go 语言客户端

    • Goamz - Goamz 的一个fork分支,添加了一些缺失的API,用于调用特定的软件包。

    • Golyrics - Golyrics 是一个go语言库,用于从 Wikia 上获取歌词

    • GoMusicBrainz - Go MusicBrainz WS2 客户端

    • Google - 为go语言自动生成google api

    • Google-analytics - Google 分析报告的一个简单的封装

    • Google-cloud - Google Cloud APIs Go 语言客户端库

    • Gostorm - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells.

    • Govkbot - 简单的 Go VK 机器人库

    • hipchat - 这个项目实行了Hipchat API的Go语言客户端

    • hipchat (xmpp) - 通过使用XMPP与HipChat 进行通信的库

    • Medium - Medium OAuth2 API 的 sdk

    • meGos - 用于访问 Apache Mesos 集群的客户端

    • micha - 用于Telegram bot api的go语言库

    • minio-Go - go 语言 Minio 客户端,用于Amazon S3 兼容的云存储

    • mixpanel - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your Go applications.

    • patreon-Go - Patreon API.

    • paypal - PayPal 支付 API

    • playlyfe - Playlyfe Rest API Go SDK

    • pushover - Pushover API 的Go语言封装

    • rrdaclient - 用于接入 statdns.com API 的库——RRDA API。通过HTTP协议进行DNS查询

    • shopify - Go Library to make CRUD request to the Shopify API.

    • slack - Slack API

    • smite - 对Smite game API 的封装

    • spotify - 用于接入 Spotify WEB API的Go语言库

    • steam - 用于与Steam服务器进行交互的库

    • stripe - Stripe API 的 go语言客户端

    • tbot - Telegram bot 服务器,有类似 net/http的api

    • telebot - go语言编写的Telegram bot 框架

    • telegram-bot-api - 简洁的 Telegram bot 客户端.

    • textbelt - textbelt.com txt messaging API 的go语言客户端

    • TheMovieDb - 用于和 themoviedb.org 通信的一个简单的 Go 语言软件包

    • translate - Go 在线翻译包

    • Trello - Trello API的 Go 语言封装

    • tumblr - Tumblr v2 API 的Go语言封装

    • webhooks - GitHub 和 Bitbucket 的Webhook接收器

    • zooz - Zooz API 的 Go 语言客户端

    实用工具

    可以让你的生活变得更简单的实用工具.

    • abutil - 常用 Go 语言工具的集合

    • apm - Go 语言进程管理工具具有HTTP API.

    • boilr - 一个超快的命令行工具,用于从模板文件生成项目

    • circuitbreaker - Go语言断路器模式

    • clockwerk - 使用简单、流畅的语法来调度周期性任务

    • command - 命令模式,支持线程安全的串行、并行调度

    • coop - Go 语言中常见的并发流程Cheat sheet

    • 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 tool for wrapping symbols exported by Golang plugins (1.8 only)

    • Go-cron - Simple Cron library for Go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.

    • 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 - Timed rate limiter for Go.

    • Go-respond - 用于处理常见HTTP JSON 响应的库.

    • Go-sitemap-generator - XML 网站地图生成器

    • Go-torch - 为 go 语言程序生成火焰图

    • Go-trigger - go语言全局事件触发器,通过id和触发器,在程序的任何地方注册事件

    • Go-underscore - 一些有用的go语言工具的集合

    • Goback - Go simple exponential backoff package.

    • 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 - Library to simplify access struct fields with Go's expression in reflection.

    • grequests - 简单优雅的 net/HTTP 封装,紧随 Python的 requests 的步伐

    • gron - 使用简单的go语言API和Gron调度器创建定时任务

    • htcat - Parallel and Pipelined HTTP GET Utility

    • httpcontrol - Package httpcontrol allows for HTTP transport level control around timeouts and retries.

    • hub - 封装了 git 命令,提供了额外的功能用于在终端中和github进行交互

    • hystrix-Go - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker.

    • immortal - *nix 跨平台 (与操作系统无关的)监控程序

    • intrinsic - 不需要编写任何汇编代码就能使用 x86 SIMD

    • JobRunner - 智能的、多功能的定时任务调度器,具有任务队列和实时监控功能

    • jsonapi-errors - Go bindings based on the JSON API errors reference.

    • jsonf - 控制台工具,用于高亮及JSON查询功能

    • jsonGo - 用于更加方便的构建json对象的api

    • jsonhal - Simple Go package to make custom structs marshal into HAL compatible JSON responses.

    • kazaam - 用于传输任意JSON 文件的API

    • lrserver - LiveReload 服务器

    • mc - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems.

    • merGo - Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.

    • minify - Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats.

    • mmake - Modern Make.

    • moldova - Utility for generating random data based on an input template.

    • mp - 简单的命令行邮件解析器,当前支持标准输入并输出JSON.

    • mssqlx - HA client for master slave (or master master) database which integrates simple, lightweight round-robin balancer. Based on sqlx.

    • multitick - Multiplexor for aligned tickers.

    • netbug - 远程对你的服务进行性能分析

    • ngrok - Introspected tunnels to localhost.

    • okrun - Go run error steamroller.

    • onecache - Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc)

    • panicparse - Groups similar Goroutines and colorizes stack dump.

    • peco - Simplistic interactive filtering tool.

    • pester - Go HTTP client calls with retries, backoff, and concurrency.

    • pm - Process (i.e. Goroutine) manager with an HTTP API.

    • profile - Simple profiling support package for Go.

    • rclient - Readable, flexible, simple-to-use client for REST APIs.

    • realize - Go build system with file watchers and live reload. Run, build and watch file changes with custom paths.

    • request - Go HTTP Requests for Humans™.

    • rerate - Redis-based rate counter and rate limiter for Go.

    • rerun - Recompiling and rerunning Go apps when source changes.

    • resty - Simple HTTP and REST client for Go inspired by Ruby rest-client.

    • retry - Functional mechanism based on context to perform actions repetitively until successful.

    • robustly - Runs functions resiliently, catching and restarting panics.

    • scheduler - Cronjobs scheduling made easy.

    • sling - Go HTTP requests builder for API clients.

    • spinner - Go package to easily provide a terminal spinner with options.

    • sqlx - provides a set of extensions on top of the excellent built-in database/sql package.

    • Storm - 一个用于BoltDB的简单又强大的工具

    • Task - 简单来讲就是 "Make" 的替代品

    • toolbox - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.

    • uGo - uGo 是一个切片工具箱,有着和go语言一致的语法

    • UNIS - Common Architecture™ for String Utilities in Go.

    • usql - usql 是一个通用的命令行接口,用于操作sql数据库

    • util - 收集了很多有用的函数

    • wuzz - 交互式命令行程序,用于进行HTTP 检查

    • xferspdy - Xferspdy 提供了二进制对比功能以及go语言补丁库

    • xlsx - 简化了在go语言程序中,读取xml格式文件的难度

    Web 框架

    全栈 web 框架

    • aah - 可扩展、高性能、快速发布的go语言web框架

    • Air - 理想的 RESTful web 框架

    • BeeGo - beeGo 是一个开源的、高性能的go语言web框架

    • Buffalo - 为go语言带来堪比Rails的高生产效率

    • Echo - 高性能、极简的go语言web框架

    • Fireball - 感觉更加自然的web框架

    • Florest - 高性能的、基于工作流的kREST 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启发的, inspired regexp/pattern mux and web framework for Go.

    • utron - 轻量级的go语言 MVC 框架

    • violetear - Go HTTP 路由库

    • YARF - 快速的微型框架,用于快速、简单地构建REST APIs 以及 web 服务

    • Zerver - Zerver 是一个富有表达力的、模块化的、全功能的 RESTful 框架.

    中间件

    中间件

    • CORS - 非常方便地向你的api中添加CORS功能

    • formjson - 将JSON 输入看作说一个标准的表单POST来处理

    • Limiter - 超级简单的限速中间件

    • Tollbooth - HTTP 请求限速中间件

    • XFF - 处理 X-Forwarded-For 头的中间件

    用于创建 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 is a tool to automatically apply all static analysis tool and report their output in normalized form.

    • 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 - Adds zero-value return statements to match the func return types.

    • 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 plugin for JetBrains IDEs - JetBrains IDEs 使用的 Go 语言插件

    • Go-lang-idea-plugin (废弃) - IntelliJ (JetBrains) IDEA 之前使用的插件,现在已经被上面的官方插件所取代

    • Go-mode - GNU/Emacs的 Go 语言模式

    • Go-plus - 供Atom 使用的自动补全、格式化、语法检查、lint 及 Vetting的软件包

    • Goclipse - Eclipse 的 Go 语言插件

    • Gocode - go语言自动补全

    • GoSublime - SublimeText 2 使用的 Go 语言插件,支持代码补全以及一些类似 IDE 的特性

    • velour - acme 编辑器使用的 IRC 客户端

    • vim-compiler-Go - Vim插件,在保存时高亮语法错误

    • vim-Go - Vim 使用的 Go 语言开发插件

    • vscode-Go - Visual Studio Code (VS Code) 使用的一个扩展,为 Go 语言提供了支持

    • Watch - 当文件变动时,在 acme 窗口中执行命令

    Go 语言工具

    • colorGo - 对 Go 命令进行了封装,用于为Go build的输出结果添加颜色

    • depth - 通过分析导入的库,将某个包的依赖关系用树状结构进行显示

    • gb - An easy to use project based build tool for the Go programming language.

    • 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 - Tool which creates a build of Go that can cross compile to all platforms while still using the CGo-enabled versions of the stdlib packages.

    • 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。如果你的server挂了或是响应时间超过预期,则会通过Slack, E-mail 来通知你

    • Vegeta - HTTP 加载测试工具和库

    • webhook - 允许用户创建HTTP 端点,在服务器上执行命令

    • Wide - 基于Web的IDE,为使用go语言的团队设计

    • winrm-cli - 命令行工具,可以远程在windos机器上执行命令

    其他软件

    • 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 - De-duplicating backup program.

    • 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 语言库和软件的地方

    基准测试

    • autobench - 用于比较各个不同版本 Go 语言之间的性能的框架

    • Go-benchmark-app - 强大的 HTTP 基准测试工具,集成来 Аb, Wrk, Siege 工具。收集来统计数据以及多种参数用于基准测试和结果比较

    • Go-benchmarks - 一些基准程序的大杂烩。用于比较一些语言特性以及它们的替代方法.

    • Go-HTTP-routing-benchmark - Go HTTP 请求路由基准和比较

    • Go-type-assertion-benchmark - 对在 Go 语言中使用断言的两种方法进行了性能测试

    • Go-web-framework-benchmark - Go web框架基准

    • Go_serialization_benchmarks - go语言序列化方法基准测试

    • Gocostmodel - go语言基础操作基准测试

    • Golang-micro-benchmarks - 一些go语言微基准测试的集合,目的是比较各种语言特性。

    • Golang-sql-benchmark - 对一些流行的 Go database/SQL 工具进行基准测试

    • Gospeed - Go 语言微型基准测试工具,用于测试语言结构的速度

    • kvbench - 键值数据库基准测试

    • skynet - Skynet 1M 线程微基准

    • speedtest-resize - 比较了go语言的多种图片缩放算法

    网站

    • Awesome Go @LibHunt - Your Go-to Go Toolbox.

    • Awesome Remote Job - 一个发布远程工作的列表。上面有很多人都在寻找 Go 语言程序员

    • awesome-awesomeness - 汇集了其他 Awesome 系列列表的聚合列表

    • Flipboard - Go Magazine - 汇集了 Go 语言的教程和文章

    • Go Blog - Go 语言官方博客

    • Go Challenge - 通过解题来学习 Go 语言,同时获得专家们的反馈

    • Go Forum - 讨论 Go 的论坛.

    • Go In 5 Minutes - 5 minute ScreeNcasts focused on getting one thing done.

    • Go Projects - Go 语言社区 wiki 列表中的项目

    • Gocryforhelp - 汇集了一些需要帮助的 Go 语言项目。一个开始你的开源之路的好地方

    • Godoc.org - 开源 Go 语言软件包的文档库.

    • Golang Flow - 不断更新的博客、新闻、软件等等

    • Golang News - 关于 Go 语言编程的一些链接.

    • Golang-graphics - 关于Go 语言的图片及艺术作品

    • Golang-nuts - Go 邮件列表

    • Google Plus Community - Go 语言爱好者的 Google+ 社区

    • Gowalker.org - Go 语言项目 API 文档

    • r/Golang - Go 语言新闻

    • Trending Go repositories on GitHub today - 一个寻找 Go 语言新库和软件的好地方

    教程

    • A Tour of Go - 一个交互式的 Go 语言教程

    • Build web application with Golang - Go 语言电子书,讲解如何编写一个 web 应用

    • Building Go Web Applications and Microservices Using Gin - 学习 Gin 以及了解如何使用 Gin 帮你减少模板代码并建立一个请求处理流水线

    • Go By Example - 通过带注解的例程帮助你动手实践学习 Go 语言

    • Go Cheat Sheet - Go参考手册

    • Go database/sql tutorial - 介绍数据库及 sql

    • Golangbot - Go 语言初学者教程

    • How to Use Godog for Behavior-driven Development in Go - 学习使用 Godog — 一个行为驱动型开发框架,用于构建和测试 Go 语言应用

    • Working with Go - 为有经验的程序员提供的 Go 语言教程


    以上是关于Golang中文资源大全的主要内容,如果未能解决你的问题,请参考以下文章

    VSCode自定义代码片段3——url大全

    VSCode自定义代码片段3——url大全

    VSCode自定义代码片段3——url大全

    golang代码片段(摘抄)

    VSCode自定义代码片段——cli的终端命令大全

    VSCode自定义代码片段4——cli的终端命令大全