# Go语言工程精选 **Repository Path**: learning_path_series/go_oss_collection ## Basic Information - **Project Name**: Go语言工程精选 - **Description**: 精选Go语言的开源项目,并分析和解读其设计实现的关键之处。 - **Primary Language**: Go - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 21 - **Forks**: 9 - **Created**: 2021-01-04 - **Last Updated**: 2025-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Go语言开源工程精选 ## 介绍 精选Go语言的开源项目,并分析和解读其设计实现的关键之处。 挑选原则: 1. 项目较为成熟,用户众多,有比较稳定的代码基础。 2. 项目解决开发相关的某个领域的问题,例如文件处理、数据库处理等。 3. 设计与代码编写有典型性或独有特色。 挑选方式: 依照[awesome-go-cn](https://github.com/jobbole/awesome-go-cn)的组织方式,从它的项目列表中分门别类挑选其中更值得进行钻研的工程。我们保留awesome-go-cn的分类结构,并添加到对应分类的链接,以便读者在了解某个类别的精选工程之后,可以跳到awesome-go-cn上寻找其他类似工程。 名称 | 地址 | 板块 | 简介 --- | --- | --- | --- Afero | | 文件处理 | 文件系统框架,封装底层文件处理的实现,提供统一的文件处理接口 Go-Git | | 文件处理 | 纯Go语言实现的Git协议 SQLX | | 数据库 | 标准库sql模块的一层封装 Notify | | 文件处理 | 文件系统消息库,可以考虑了解其设计原理。 pq | | 数据库 | 标准PostGRESQL驱动,可以考虑综合对比pq、pgx和go-pg的优劣。 pgx | | 数据库 | 高性能PostgreSQL驱动 go-pg | | 数据库 | 包含高阶orm功能的PostgreSQL驱动 mysql | | 数据库 | MySQL驱动 go-redis | | 数据库 | Redis驱动 redigo | | 数据库 | Redis驱动,可以和go-redis进行对比分析 riot | | 搜索引擎 | Go语言分布式搜索引擎,中文支持好 now | | 时间 | 日期时间工具库,设计很简洁 viper | | 配置管理 | 最火的配置工具 testify | | 测试 | 最火的测试库 zap | | 日志 | 高速日志库 cobra | | 命令行 | # 资源列表 - [Go语言开源工程精选](#go语言开源工程精选) - [介绍](#介绍) - [资源列表](#资源列表) - [音频和音乐库](#音频和音乐库) - [认证和OAuth授权](#认证和oauth授权) - [机器人相关](#机器人相关) - [命令行工具](#命令行工具) - [标准 CLI](#标准-cli) - [高级控制台UI](#高级控制台ui) - [配置管理](#配置管理) - [持续集成](#持续集成) - [CSS预处理](#css预处理) - [数据结构](#数据结构) - [数据库](#数据库) - [数据库迁移工具](#数据库迁移工具) - [数据库工具](#数据库工具) - [SQL 查询语句构建库](#sql-查询语句构建库) - [数据库驱动](#数据库驱动) - [日期和时间](#日期和时间) - [分布式系统](#分布式系统) - [动态DNS](#动态dns) - [邮件库](#邮件库) - [脚本语言与嵌入式编程](#脚本语言与嵌入式编程) - [错误处理](#错误处理) - [文件处理](#文件处理) - [金融领域相关库](#金融领域相关库) - [表单](#表单) - [函数式编程](#函数式编程) - [游戏开发](#游戏开发) - [代码生成与泛型](#代码生成与泛型) - [位置信息与地理GEO处理库](#位置信息与地理geo处理库) - [Goroutines](#goroutines) - [GUI](#gui) - [硬件](#硬件) - [Images 图像处理](#images-图像处理) - [物联网(IOT)](#物联网iot) - [作业调度](#作业调度) - [JSON](#json) - [Logging 日志库](#logging-日志库) - [机器学习](#机器学习) - [消息系统](#消息系统) - [Microsoft Office](#microsoft-office) - [EXCEL](#excel) - [其他杂项](#其他杂项) - [依赖性注入](#依赖性注入) - [项目结构](#项目结构) - [字符串处理](#字符串处理) - [暂未分类](#暂未分类) - [自然语言处理](#自然语言处理) - [网络相关库](#网络相关库) - [Http Client](#http-client) - [OpenGL](#opengl) - [ORM](#orm) - [Go语言包管理](#go语言包管理) - [查询语](#查询语) - [资源嵌入](#资源嵌入) - [数据分析与数据科学](#数据分析与数据科学) - [安全领域相关库](#安全领域相关库) - [序列化](#序列化) - [服务端应用](#服务端应用) - [流处理](#流处理) - [模板引擎](#模板引擎) - [测试相关](#测试相关) - [文本处理](#文本处理) - [第三方API](#第三方api) - [工具库](#工具库) - [UUID](#uuid) - [校验库](#校验库) - [版本控制](#版本控制) - [视频](#视频) - [web框架](#web框架) - [中间件](#中间件) - [中间件](#中间件-1) - [创建http中间件的代码库](#创建http中间件的代码库) - [路由](#路由) - [WebAssembly](#webassembly) - [Windows](#windows) - [XML](#xml) - [相关工具](#相关工具) - [代码分析](#代码分析) - [编辑器插件](#编辑器插件) - [Go 代码生成工具](#go-代码生成工具) - [Go 工具](#go-工具) - [软件包](#软件包) - [devops 工具](#devops-工具) - [其他软件库和软件包](#其他软件库和软件包) ## 音频和音乐库 暂无 ---- ## 认证和OAuth授权 * [jwt-go](https://github.com/dgrijalva/jwt-go) ![](https://img.shields.io/github/stars/dgrijalva/jwt-go?style=social) : -`JSON Web Tokens`(JWT)的Golang实现。 ---- ## 机器人相关 ` 构建和使用机器人的库` * [go-joe](https://joe-bot.net) ![](https://img.shields.io/github/stars/go-joe/joe?style=social) : 受 Hubot 启发,用 Go 编写的通用型机器人库。 ---- ## 命令行工具 ### 标准 CLI `用于创建一个标准命令行应用程序的库` * [cobra](https://github.com/spf13/cobra) ![](https://img.shields.io/github/stars/spf13/cobra?style=social) : 一个现代化的命令行。 * [kingpin](https://github.com/alecthomas/kingpin) ![](https://img.shields.io/github/stars/alecthomas/kingpin?style=social) : 支持子命令的命令行和标志位解析器。 * [liner](https://github.com/peterh/liner) ![](https://img.shields.io/github/stars/peterh/liner?style=social) : 命令行文本解析器 * [mitchellh/cli](https://github.com/mitchellh/cli) ![](https://img.shields.io/github/stars/mitchellh/cli?style=social) : 用于实现命令行交互的 `Go `语言库 * [urfave/cli](https://github.com/urfave/cli) ![](https://img.shields.io/github/stars/urfave/cli?style=social) : 简单、快速、有趣的、用于构建 Go 语言命令行程序的软件包。 ---- ## 高级控制台UI `用于构建控制台应用程序和控制台用户界面的库.` * [aurora](https://github.com/logrusorgru/aurora) ![](https://img.shields.io/github/stars/logrusorgru/aurora?style=social) : `ANSI` 终端颜色,支持 `fmt.Printf/Sprintf` * [go-prompt](https://github.com/c-bata/go-prompt) ![](https://img.shields.io/github/stars/c-bata/go-prompt?style=social) : [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit) 的启发,用于构建强大的交互式提示符的go语言库 * [gocui](https://github.com/jroimartin/gocui) ![](https://img.shields.io/github/stars/jroimartin/gocui?style=social) : 极简的控制台用户界面创建库. * [progressbar](https://github.com/schollz/progressbar) ![](https://img.shields.io/github/stars/schollz/progressbar?style=social) : 适用于各种操作系统的,线程安全进度条管理库。 * [termbox-go](https://github.com/nsf/termbox-go) ![](https://img.shields.io/github/stars/nsf/termbox-go?style=social) : Termbox是一个用于创建跨平台文本界面的库。 * [termdash](https://github.com/mum4k/termdash) ![](https://img.shields.io/github/stars/mum4k/termdash?style=social) : 基于 `termbox-go `的 `Go` 终端仪表盘,灵感来自 [termui](https://github.com/gizak/termui)。 * [termui](https://github.com/gizak/termui) ![](https://img.shields.io/github/stars/gizak/termui?style=social) : 基于 `termbox-go` 的 `Go` 终端仪表盘,灵感来源于[blessed-contrib](https://github.com/yaronn/blessed-contrib)。 * [uilive](https://github.com/gosuri/uilive) ![](https://img.shields.io/github/stars/gosuri/uilive?style=social) : 用于实时更新终端输出的库 * [uiprogress](https://github.com/gosuri/uiprogress) ![](https://img.shields.io/github/stars/gosuri/uiprogress?style=social) :用于渲染进度条的库 * [uitable](https://github.com/gosuri/uitable) ![](https://img.shields.io/github/stars/gosuri/uitable?style=social) : 用于改善命令行中,表格数据可读性的库 ---- ## 配置管理 `配置解析库` * [env](https://github.com/caarlos0/env) ![](https://img.shields.io/github/stars/caarlos0/env?style=social) : 解析环境变量为` Go` 语言结构体 * [godotenv](https://github.com/joho/godotenv) ![](https://img.shields.io/github/stars/joho/godotenv?style=social) : 把 ` Ruby `的 `dotenv `库移植到 `Go `(从 `.env `中加载环境变量)。 * [ini](https://github.com/go-ini/ini) ![](https://img.shields.io/github/stars/go-ini/ini?style=social) : 用于读写INI 文件的库 * [kelseyhightower/envconfig](https://github.com/kelseyhightower/envconfig) ![](https://img.shields.io/github/stars/kelseyhightower/envconfig?style=social) : 用于管理环境变量配置数据的` Go` 库。 * [viper](https://github.com/spf13/viper) ![](https://img.shields.io/github/stars/spf13/viper?style=social) :` Go `语言配置工具 ---- ## 持续集成 `持续集成的辅助工具` 暂无 ---- ## CSS预处理 `预处理css文件的库` 暂无 ---- ## 数据结构 `go语言实现的数据结构与算法` * [algorithms](https://github.com/shady831213/algorithms) ![](https://img.shields.io/github/stars/shady831213/algorithms?style=social) : 算法和数据结构学习资料 * [bitset](https://github.com/willf/bitset) ![](https://img.shields.io/github/stars/willf/bitset?style=social) : 实现了 `bitset `的 `Go `语言包. * [boomfilters](https://github.com/tylertreat/BoomFilters) ![](https://img.shields.io/github/stars/tylertreat/BoomFilters?style=social) : 概率统计数据结构,用于处理大量连续的数据。 * [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) ![](https://img.shields.io/github/stars/seiflotfy/cuckoofilter?style=social) : ` Cuckoo `过滤器:一个用go语言实现的计数布隆过滤器的替代品 * [go-datastructures](https://github.com/Workiva/go-datastructures) ![](https://img.shields.io/github/stars/Workiva/go-datastructures?style=social):一组有用的、高性能的、线程安全的数据结构 * [go-edlib](https://github.com/hbollon/go-edlib) ![](https://img.shields.io/github/stars/hbollon/go-edlib?style=social) : 与 Unicode 兼容的 Go 字符串比较和编辑距离算法库(`Levenshtein、LCS、Hamming、Damerau levenshtein、Jaro-Winkler` 等)。 * [gocache](https://github.com/eko/gocache) ![](https://img.shields.io/github/stars/eko/gocache?style=social) : 完整的`Go`缓存库,支持多个存储(内存、`memcache、redis......`)。 * [gods](https://github.com/emirpasic/gods) ![](https://img.shields.io/github/stars/emirpasic/gods?style=social) :` Go `语言数据结构、容器、集合、列表、栈、键值对、 `BidiMaps`、树、`HashSet`等 * [golang-set](https://github.com/deckarep/golang-set) ![](https://img.shields.io/github/stars/deckarep/golang-set?style=social) : 线程安全和非线程安全的高性能集合 * [goskiplist](https://github.com/ryszard/goskiplist) ![](https://img.shields.io/github/stars/ryszard/goskiplist?style=social) : `Go`语言实现的跳跃表 * [gota](https://github.com/kniren/gota) ![](https://img.shields.io/github/stars/kniren/gota?style=social) : 为go语言实现了数据帧,序列以及数据噪音的方法 * [roaring](https://github.com/RoaringBitmap/roaring) ![](https://img.shields.io/github/stars/RoaringBitmap/roaring?style=social) : 实现了压缩` bitsets `算法的Go语言库 * [trie](https://github.com/derekparker/trie) ![](https://img.shields.io/github/stars/derekparker/trie?style=social) : `Go`语言实现的`Trie`树 * [ttlcache](https://github.com/ReneKroon/ttlcache) ![](https://img.shields.io/github/stars/ReneKroon/ttlcache?style=social) : 基于过期时间的内存字符串缓存接口。 * [willf/bloom](https://github.com/willf/bloom) ![](https://img.shields.io/github/stars/willf/bloom?style=social) : 实现了布隆过滤器的库 ---- ## 数据库 `go语言实现的数据库` * [badger](https://github.com/dgraph-io/badger) ![](https://img.shields.io/github/stars/dgraph-io/badger?style=social) : `Go`中的快速键值存储库。 * [bbolt](https://github.com/etcd-io/bbolt) ![](https://img.shields.io/github/stars/etcd-io/bbolt?style=social) : `Go`的嵌入式键值数据库。 * [BigCache](https://github.com/allegro/bigcache) ![](https://img.shields.io/github/stars/allegro/bigcache?style=social) : 为GB量级数据设计的高效键/值缓存 * [buntdb](https://github.com/tidwall/buntdb) ![](https://img.shields.io/github/stars/tidwall/buntdb?style=social) : 快速,可嵌入的,内存键值数据库,可定义索引及 `spatial` * [cache2go](https://github.com/muesli/cache2go) ![](https://img.shields.io/github/stars/muesli/cache2go?style=social) : 基于内存存储的键值缓存,支持自动基于超时的自动失效 * [cockroach](https://github.com/cockroachdb/cockroach) ![](https://img.shields.io/github/stars/cockroachdb/cockroach?style=social) : 可扩展的、一致的事务型数据库 * [CovenantSQL](https://github.com/CovenantSQL/CovenantSQL) ![](https://img.shields.io/github/stars/CovenantSQL/CovenantSQL?style=social) : `CovenantSQL`是一个区块链上的SQL数据库。 * [dgraph](https://github.com/dgraph-io/dgraph) ![](https://img.shields.io/github/stars/dgraph-io/dgraph?style=social) : 可扩展的、分布式的、低延时、高吞吐的图数据库 * [GCache](https://github.com/bluele/gcache) ![](https://img.shields.io/github/stars/bluele/gcache?style=social) : 支持缓存过期、 `LFU、 LRU `和 `ARC `的缓存库 * [go-cache](https://github.com/pmylund/go-cache) ![](https://img.shields.io/github/stars/pmylund/go-cache?style=social) : 基于内存存储的缓存,适用于分布式部署的应用 * [goleveldb](https://github.com/syndtr/goleveldb) ![](https://img.shields.io/github/stars/syndtr/goleveldb?style=social) : `Go`中 [LevelDB](https://github.com/google/leveldb)键/值数据库的实现 * [groupcache](https://github.com/golang/groupcache) ![](https://img.shields.io/github/stars/golang/groupcache?style=social) : ` Groupcache `是一个缓存及缓存填充库,在很多情况下用于替代 `memcached`. * [immudb](https://github.com/codenotary/immudb) ![](https://img.shields.io/github/stars/codenotary/immudb?style=social) : `immudb `是一个轻量级、高速的不可变数据库,适用于用` Go `编写的系统和应用程序。 * [influxdb](https://github.com/influxdb/influxdb) ![](https://img.shields.io/github/stars/influxdb/influxdb?style=social) : 用于度量、事件和实时分析的可扩展数据存储。 * [ledisdb](https://github.com/siddontang/ledisdb) ![](https://img.shields.io/github/stars/siddontang/ledisdb?style=social) : `Ledisdb `是一个高性能 `NoSQL` 数据库,类似 `Redis` * [nutsdb](https://github.com/xujiajun/nutsdb) ![](https://img.shields.io/github/stars/xujiajun/nutsdb?style=social) : `Nutsdb`是一个用纯`Go`编写的简单、快速、可嵌入、持久化的键/值存储。它支持完全可序列化的事务和许多数据结构,如列表、集合、排序集合。 * [prometheus](https://github.com/prometheus/prometheus) ![](https://img.shields.io/github/stars/prometheus/prometheus?style=social) : 监控系统及时间序列数据库 * [rqlite](https://github.com/rqlite/rqlite) ![](https://img.shields.io/github/stars/rqlite/rqlite?style=social) : 基于 `SQLite `的轻量级的、分布式的关系型数据库 * [tidb](https://github.com/pingcap/tidb) ![](https://img.shields.io/github/stars/pingcap/tidb?style=social) : ` TiDB` 是一个分布式的` SQL` 数据库。受到了` Google F1`的启发 * [tiedot](https://github.com/HouzuoGuo/tiedot) ![](https://img.shields.io/github/stars/HouzuoGuo/tiedot?style=social) : 基于` Go `语言的` NoSQ`L 数据库 * [VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) ![](https://img.shields.io/github/stars/VictoriaMetrics/VictoriaMetrics?style=social) : 快速、资源高效、可扩展的开源时间序列数据库。可作为`Prometheus`的长期远程存储。支持`PromQL`。 #### 数据库迁移工具 * [goose](https://github.com/pressly/goose) ![](https://img.shields.io/github/stars/pressly/goose?style=social) : 数据库迁移工具。你可以通过编写增量 `SQL `或 `Go` 语言脚本来管理你的数据库 * [migrate](https://github.com/golang-migrate/migrate) ![](https://img.shields.io/github/stars/golang-migrate/migrate?style=social) : 数据库迁移。命令行及 `Go `语言库 * [soda](https://github.com/gobuffalo/pop/tree/master/soda) : 数据库迁移、创建、 ORM等等,用于` MySQL, PostgreSQL, `以及 `SQLite`. * [sql-migrate](https://github.com/rubenv/sql-migrate) ![](https://img.shields.io/github/stars/rubenv/sql-migrate?style=social) : 数据库迁移工具,允许利用 `Go-bindata` 将数据库迁移嵌入应用程序 ### 数据库工具 * [go-mysql](https://github.com/siddontang/go-mysql) ![](https://img.shields.io/github/stars/siddontang/go-mysql?style=social) : 用于处理` MySQL` 协议及复制的` Go `语言工具集 * [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) ![](https://img.shields.io/github/stars/siddontang/go-mysql-elasticsearch?style=social) : 将你的 `MySQL` 数据自动同步到` Elasticsearch` * [kingshard](https://github.com/flike/kingshard) ![](https://img.shields.io/github/stars/flike/kingshard?style=social) : ` kingshard `是一个`Go`语言编写的高性能 `MySQL `数据库代理 * [orchestrator](https://github.com/github/orchestrator) ![](https://img.shields.io/github/stars/github/orchestrator?style=social) : ` MySQL`复制拓扑管理器及可视化工具 * [pgweb](https://github.com/sosedoff/pgweb) ![](https://img.shields.io/github/stars/sosedoff/pgweb?style=social) : 基于 `Web` 的 `PostgreSQL` 数据库浏览工具 * [pREST](https://github.com/nuveo/prest) ![](https://img.shields.io/github/stars/nuveo/prest?style=social) : 为 `PostgreSQL `数据库提供 `RESTful API` * [vitess](https://github.com/youtube/vitess) ![](https://img.shields.io/github/stars/youtube/vitess?style=social) : `vitess` 提供了能够使大型 `web `服务 `MySQL` 数据库的扩展变得更加容易的服务器及工具 ### SQL 查询语句构建库 * [dbq](https://github.com/rocketlaunchr/dbq) ![](https://img.shields.io/github/stars/rocketlaunchr/dbq?style=social) : `Go`的数据库操作库。 * [gendry](https://github.com/didi/gendry) ![](https://img.shields.io/github/stars/didi/gendry?style=social) : 非侵入式`SQL`构建器和强大的数据绑定器。 * [goqu](https://github.com/doug-martin/goqu) ![](https://img.shields.io/github/stars/doug-martin/goqu?style=social) : 地道的 `SQL` 语句创建器和查询库 * [sqrl](https://github.com/elgris/sqrl) ![](https://img.shields.io/github/stars/elgris/sqrl?style=social) : `SQL `查询创建器,是 `Squirrel` 的一个分叉版本,进行了性能方面的优化 * [Squirrel](https://github.com/Masterminds/squirrel) ![](https://img.shields.io/github/stars/Masterminds/squirrel?style=social) : 一个帮助你构建 `SQL` 查询的库 * [xo](https://github.com/xo/xo) ![](https://img.shields.io/github/stars/xo/xo?style=social) : 基于已知的数据库表或自定义查询生成地道的` Go `语言代码,支持 `PostgreSQL, MySQL, SQLite, Oracle`, 以及 `Microsoft SQL Server`. ---- ## 数据库驱动 `连接和操作数据库工具` * 关系型数据库 * [go-mssqldb](https://github.com/denisenkom/go-mssqldb) ![](https://img.shields.io/github/stars/denisenkom/go-mssqldb?style=social) : 适用于Go的`Microsoft MSSQL`驱动。 * [go-oci8](https://github.com/mattn/go-oci8) ![](https://img.shields.io/github/stars/mattn/go-oci8?style=social) : ` Oracle `驱动 * [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) ![](https://img.shields.io/github/stars/go-sql-driver/mysql?style=social) : Go 语言 `MySQL`驱动 * [go-sqlite3](https://github.com/mattn/go-sqlite3) ![](https://img.shields.io/github/stars/mattn/go-sqlite3?style=social) : Go 语言的 `SQLite3 `驱动 * [pgx](https://github.com/jackc/pgx) ![](https://img.shields.io/github/stars/jackc/pgx?style=social) : `PostgreSQL` 驱动,支持比 `database/sql `更多的特性 * [pq](https://github.com/lib/pq) ![](https://img.shields.io/github/stars/lib/pq?style=social) : 用于`database/sql`的`Pure Go Postgres`驱动。 ---- * NoSQL数据库 * [go-couchbase](https://github.com/couchbase/go-couchbase) ![](https://img.shields.io/github/stars/couchbase/go-couchbase?style=social) :` Go `语言` Couchbase `客户端 * [gomemcache](https://github.com/bradfitz/gomemcache/) : `Go`编程语言的`memcache`客户端库。 * [gorethink](https://github.com/dancannon/gorethink) ![](https://img.shields.io/github/stars/dancannon/gorethink?style=social) : `RethinkDB`的Go语言驱动。 * [mgo](https://github.com/globalsign/mgo) ![](https://img.shields.io/github/stars/globalsign/mgo?style=social) :` MonGoDB` 驱动,通过简单的 `API` 现了丰富的、经过测试的特性,这些 API 遵循 Go 语言的习惯 * [mongo-go-driver](https://github.com/mongodb/mongo-go-driver) ![](https://img.shields.io/github/stars/mongodb/mongo-go-driver?style=social) : `Go`语言的官方`MongoDB`驱动。 * [redigo](https://github.com/gomodule/redigo) ![](https://img.shields.io/github/stars/gomodule/redigo?style=social) : ` RediGo `是 `Redis` 数据库的`Go` 语言客户端. * [redis](https://github.com/go-redis/redis) ![](https://img.shields.io/github/stars/go-redis/redis?style=social) : 兼容R`edis`协议的 `TCP` 服务器/服务. ---- * 搜索引擎和文本数据库 * [bleve](https://github.com/blevesearch/bleve) ![](https://img.shields.io/github/stars/blevesearch/bleve?style=social) : 现代文本索引库 * [elastic](https://github.com/olivere/elastic) ![](https://img.shields.io/github/stars/olivere/elastic?style=social) : ` Go` 语言的 `Elasticsearch `客户端 * [go-elasticsearch](https://github.com/elastic/go-elasticsearch) ![](https://img.shields.io/github/stars/elastic/go-elasticsearch?style=social) : Go的官方`Elasticsearch`客户端。 * [riot](https://github.com/go-ego/riot) ![](https://img.shields.io/github/stars/go-ego/riot?style=social) : `Go`开源,分布式,简单高效的搜索引擎。 * 多个后端: * [cayley](https://github.com/google/cayley) ![](https://img.shields.io/github/stars/google/cayley?style=social) : 支持多个后端的图形数据库。 * [gokv](https://github.com/philippgille/gokv) ![](https://img.shields.io/github/stars/philippgille/gokv?style=social) : 为`go(Redis、Consul、etcd、bbolt、BadgerDB、LevelDB、Memcached、DynamoDB、S3、PostgreSQL、MongoDB、CockroachDB`等)提供简单的键值存储抽象和实现。 ---- ## 日期和时间 `用于处理日期和时间的库` * [dateparse](https://github.com/araddon/dateparse) ![](https://img.shields.io/github/stars/araddon/dateparse?style=social) : 在不知道格式的情况下解析日期。 * [durafmt](https://github.com/hako/durafmt) ![](https://img.shields.io/github/stars/hako/durafmt?style=social) : 持续时间格式化 * [now](https://github.com/jinzhu/now) ![](https://img.shields.io/github/stars/jinzhu/now?style=social) : `Now` 是一个 `Go` 语言的时间工具集 ---- ## 分布式系统 * [dragonboat](https://github.com/lni/dragonboat) ![](https://img.shields.io/github/stars/lni/dragonboat?style=social) : `Go`中一个功能完整且高性能的多组`Raft`库。 * [emitter-io](https://github.com/emitter-io/emitter) ![](https://img.shields.io/github/stars/emitter-io/emitter?style=social) : 使用` MQTT、Websockets` 和 `love` 构建的高性能、分布式、安全和低延迟的发布-订阅平台。 * [gleam](https://github.com/chrislusf/gleam) ![](https://img.shields.io/github/stars/chrislusf/gleam?style=social) : 快速、可扩展的分布式` map/reduce` 系统,使用纯` Go` 语言和` Luajit` 编写,融合了 Go 语言的高并发能力和 Luajit 的高性能,可以独立或分布式部署运行。 * [glow](https://github.com/chrislusf/glow) ![](https://img.shields.io/github/stars/chrislusf/glow?style=social) : 易于使用的可扩展的分布式大数据处理、`Map-Reduce、DAG`执行,全部用纯Go编写。 * [go-kit](https://github.com/go-kit/kit) ![](https://img.shields.io/github/stars/go-kit/kit?style=social) : 为服务工具吧,支持服务发现、负载均衡 、可插拔传输以及请求追踪等 * [go-micro](https://github.com/micro/go-micro) ![](https://img.shields.io/github/stars/micro/go-micro?style=social) : 一个分布式系统开发框架。 * [grpc-go](https://github.com/grpc/grpc-go) ![](https://img.shields.io/github/stars/grpc/grpc-go?style=social) : ` gRPC`的Go语言实现。基于`HTTP/2的RPC`。 * [hprose](https://github.com/hprose/hprose-golang) ![](https://img.shields.io/github/stars/hprose/hprose-golang?style=social) : 非常新颖的RPC库,现在支持25种以上的语言。 * [KrakenD](https://github.com/devopsfaith/krakend) ![](https://img.shields.io/github/stars/devopsfaith/krakend?style=social) : 带有中间件的,高性能` API `网关框架 * [liftbridge](https://github.com/liftbridge-io/liftbridge) ![](https://img.shields.io/github/stars/liftbridge-io/liftbridge?style=social) : 用于`NATS`的轻量级、容错消息流。 * [micro](https://github.com/micro/micro) ![](https://img.shields.io/github/stars/micro/micro?style=social) : 面向云计算及其他领域的分布式系统运行时。 * [NATS](https://github.com/nats-io/gnatsd) ![](https://img.shields.io/github/stars/nats-io/gnatsd?style=social) : 轻量级、高性能微服务系统,用于微服务、物联网以及云 * [raft](https://github.com/hashicorp/raft) ![](https://img.shields.io/github/stars/hashicorp/raft?style=social) : `Raft` 共识协议的 `Golang `实现,由 `HashiCorp`.开发。 * [raft](https://github.com/coreos/etcd/tree/master/raft) ![](https://img.shields.io/github/stars/coreos/etcd?style=social) : ` Raft `共识协议的 `Go` 实现,由 `CoreOS` 提供。 * [rpcx](https://github.com/smallnest/rpcx) ![](https://img.shields.io/github/stars/smallnest/rpcx?style=social) : `rpcx`是一个类似阿里巴巴` Dubbo` 和微博` Motan` 的分布式的` RPC `服务框架 * [tendermint](https://github.com/tendermint/tendermint) ![](https://img.shields.io/github/stars/tendermint/tendermint?style=social) : 使用`Tendermint` 一致性及区块链协议的高性能的中间件,用于将任何语言编写的状态机转换为一个拜占庭容错状态机, * [torrent](https://github.com/anacrolix/torrent) ![](https://img.shields.io/github/stars/anacrolix/torrent?style=social) : `BitTorrent` 客户端 ---- ## 动态DNS `更新动态dns记录的库和工具` 暂无 ---- ## 邮件库 `邮件管理和发送的go语言库` * [email](https://github.com/jordan-wright/email) ![](https://img.shields.io/github/stars/jordan-wright/email?style=social) : 健壮的、灵活的 `email `库 * [go-imap](https://github.com/emersion/go-imap) ![](https://img.shields.io/github/stars/emersion/go-imap?style=social) : ` IMAP` 库,用于客户端和服务器 * [hermes](https://github.com/matcornic/hermes) ![](https://img.shields.io/github/stars/matcornic/hermes?style=social) : 一个用于生成干净、响应式 `HTML e-mail` 的包 * [MailHog](https://github.com/mailhog/MailHog) ![](https://img.shields.io/github/stars/mailhog/MailHog?style=social) : `Email` 及 `SMTP` 测试工具,具有 web 及 API 接口 ---- ## 脚本语言与嵌入式编程 `在你的go代码中嵌入其他脚本语言` * [anko](https://github.com/mattn/anko) ![](https://img.shields.io/github/stars/mattn/anko?style=social) : `Go `语言编写的解释器 * [expr](https://github.com/antonmedv/expr) ![](https://img.shields.io/github/stars/antonmedv/expr?style=social) : ` Go` 的表达式评估引擎,具有快速、非图灵完备、动态类型化、静态类型化的特性。 * [go-lua](https://github.com/Shopify/go-lua) ![](https://img.shields.io/github/stars/Shopify/go-lua?style=social) : ` Lua 5.2 `虚拟机的纯 Go 语言接口 * [go-python](https://github.com/sbinet/go-python) ![](https://img.shields.io/github/stars/sbinet/go-python?style=social) : `CPython C-API` 的` Go` 语言接口 * [goja](https://github.com/dop251/goja) ![](https://img.shields.io/github/stars/dop251/goja?style=social) : 在 Go 中实现 `ECMAScript 5.1(+)` 。 * [gopher-lua](https://github.com/yuin/gopher-lua) ![](https://img.shields.io/github/stars/yuin/gopher-lua?style=social) : ` Go` 语言编写的 `Lua 5.1` 虚拟机和编译器 * [tengo](https://github.com/d5/tengo) ![](https://img.shields.io/github/stars/d5/tengo?style=social) : ` Go `的字节码编译脚本语言。 ---- ## 错误处理 `go 语言错误处理库` * [errors](https://github.com/pkg/errors) ![](https://img.shields.io/github/stars/pkg/errors?style=social) : 提供简单错误处理单元的包。 * [go-multierror](https://github.com/hashicorp/go-multierror) ![](https://img.shields.io/github/stars/hashicorp/go-multierror?style=social) : 用于将错误列表表示为单个错误的包 ---- ## 文件处理 `处理文件和文件系统操作的库` * [afero](https://github.com/spf13/afero) ![](https://img.shields.io/github/stars/spf13/afero?style=social) : ` go`语言编写的对文件系统进行抽象的系统框架 * [copy](https://github.com/otiai10/copy) ![](https://img.shields.io/github/stars/otiai10/copy?style=social) : 递归复制目录。 * [notify](https://github.com/rjeczalik/notify) ![](https://img.shields.io/github/stars/rjeczalik/notify?style=social) : 类似 `os/signal`的文件系统提示库,具有简单的 API. * [pdfcpu](https://github.com/pdfcpu/pdfcpu) ![](https://img.shields.io/github/stars/pdfcpu/pdfcpu?style=social) : PDF 处理器。 * [skywalker](https://github.com/dixonwille/skywalker) ![](https://img.shields.io/github/stars/dixonwille/skywalker?style=social) : 允许你简单方便的并发浏览文件系统 ---- ## 金融领域相关库 `处理货币与金融领域的库` * [decimal](https://github.com/shopspring/decimal) ![](https://img.shields.io/github/stars/shopspring/decimal?style=social) : 支持任意精度的十进制数的go包 * [go-money](https://github.com/rhymond/go-money) ![](https://img.shields.io/github/stars/rhymond/go-money?style=social) : `Fowler's Money`模式的实现。 ---- ## 表单 `表单解析与绑定` * [binding](https://github.com/mholt/binding) ![](https://img.shields.io/github/stars/mholt/binding?style=social) : 将来自` net/HTTP `请求的表单、`JSON` 数据绑定到结构体 * [gorilla/csrf](https://github.com/gorilla/csrf) ![](https://img.shields.io/github/stars/gorilla/csrf?style=social) : 为 `Go` 语言 `web` 应用提供 `CSRF` 防御 * [nosurf](https://github.com/justinas/nosurf) ![](https://img.shields.io/github/stars/justinas/nosurf?style=social) : `CSRF` 防御中间件 ---- ## 函数式编程 * [go-underscore](https://github.com/tobyhede/go-underscore) ![](https://img.shields.io/github/stars/tobyhede/go-underscore?style=social) : `Go`函数式集合工具。 ---- ## 游戏开发 * [Ebiten](https://github.com/hajimehoshi/ebiten) ![](https://img.shields.io/github/stars/hajimehoshi/ebiten?style=social) : `Go` 语言编写的简单的 `2D` 游戏库 * [engo](https://github.com/EngoEngine/engo) ![](https://img.shields.io/github/stars/EngoEngine/engo?style=social) : ` EnGo `是一个开源的` 2D `游戏引擎,遵循实体-组件-系统范式 * [g3n](https://github.com/g3n/engine) ![](https://img.shields.io/github/stars/g3n/engine?style=social) : `Go 3D`游戏引擎。 * [go-sdl2](https://github.com/veandco/go-sdl2) ![](https://img.shields.io/github/stars/veandco/go-sdl2?style=social) : SDL2 的 `Go`封装。 * [gonet](https://github.com/xtaci/gonet) ![](https://img.shields.io/github/stars/xtaci/gonet?style=social) : `Go `语言实现的游戏服务器框架 * [goworld](https://github.com/xiaonanln/goworld) ![](https://img.shields.io/github/stars/xiaonanln/goworld?style=social) : 可扩展的游戏服务器引擎。 * [Leaf](https://github.com/name5566/leaf) ![](https://img.shields.io/github/stars/name5566/leaf?style=social) : 轻量级游戏服务器框架 * [nano](https://github.com/lonng/nano) ![](https://img.shields.io/github/stars/lonng/nano?style=social) : 基于`golang`的轻量级、设施、高性能的游戏服务器框架。 * [Pixel](https://github.com/faiface/pixel) ![](https://img.shields.io/github/stars/faiface/pixel?style=social) :`2D` 游戏引擎库 * [termloop](https://github.com/JoelOtter/termloop) ![](https://img.shields.io/github/stars/JoelOtter/termloop?style=social) : 终端游戏引擎,基于 `Termbox` ---- ## 代码生成与泛型 * [efaceconv](https://github.com/t0pep0/efaceconv) ![](https://img.shields.io/github/stars/t0pep0/efaceconv?style=social) : 代码生成工具,用于高效的将 `interface{} `转换为不可变类型,并且不需要进行任何内存分配 * [gen](https://github.com/clipperhouse/gen) ![](https://img.shields.io/github/stars/clipperhouse/gen?style=social) : 代码生成工具,用于提供类似泛型的功能 * [go-linq](https://github.com/ahmetalpbalkan/go-linq) ![](https://img.shields.io/github/stars/ahmetalpbalkan/go-linq?style=social) : 类似`.NET LINQ`的`Go`查询方法。 * [goderive](https://github.com/awalterschulze/goderive) ![](https://img.shields.io/github/stars/awalterschulze/goderive?style=social) : 从输入类型导出函数。 * [GoWrap](https://github.com/hexdigest/gowrap) ![](https://img.shields.io/github/stars/hexdigest/gowrap?style=social) : 使用简单的模板为 `Go `接口生成装饰器。 * [jennifer](https://github.com/dave/jennifer) ![](https://img.shields.io/github/stars/dave/jennifer?style=social) : 不适用模板生成任意 `Go` 语言代码 ---- ## 位置信息与地理GEO处理库 * [S2 geometry](https://github.com/golang/geo) ![](https://img.shields.io/github/stars/golang/geo?style=social) : `Go`中的`S2`几何库。 * [Tile38](https://github.com/tidwall/tile38) ![](https://img.shields.io/github/stars/tidwall/tile38?style=social) : 具有空间索引和实时地理围栏的地理位置数据库。 * [gopherjs](https://github.com/gopherjs/gopherjs) ![](https://img.shields.io/github/stars/gopherjs/gopherjs?style=social) : 把` Go` 编译为` JavaScript.` * [llgo](https://github.com/go-llvm/llgo) ![](https://img.shields.io/github/stars/go-llvm/llgo?style=social) : 基于 `LLVM` 的` Go` 语言编译器 ---- ## Goroutines `goroutines的管理和使用` * [ants](https://github.com/panjf2000/ants) ![](https://img.shields.io/github/stars/panjf2000/ants?style=social) : 高性能和低消耗的`goroutine`池。 * [goworker](https://github.com/benmanns/goworker) ![](https://img.shields.io/github/stars/benmanns/goworker?style=social) : `Goworker `是一个基于 Go 语言的后台worker * [tunny](https://github.com/Jeffail/tunny) ![](https://img.shields.io/github/stars/Jeffail/tunny?style=social) : `Go `语言协程池 ---- ## GUI * [app](https://github.com/murlokswarm/app) ![](https://img.shields.io/github/stars/murlokswarm/app?style=social) : 使用`Go, HTML` 和 `CSS` 进行应用程序开发的库, 支持` MacOS, Windows`。 * [fyne](https://github.com/fyne-io/fyne) ![](https://img.shields.io/github/stars/fyne-io/fyne?style=social) : 基于`Material Design`为`Go`设计的跨平台本地GUI。支持 Linux, macOS, Windows, BSD, iOS` 和 Android. * [go-astilectron](https://github.com/asticode/go-astilectron) ![](https://img.shields.io/github/stars/asticode/go-astilectron?style=social) : 使用`GO`和`HTML/JS/CSS`(由Electron提供支持)构建跨平台GUI应用程序 * [go-gtk](http://mattn.github.io/go-gtk/) ![](https://img.shields.io/github/stars/mattn/go-gtk?style=social) : `GTK`的`Go`绑定。 * [go-sciter](https://github.com/sciter-sdk/go-sciter) ![](https://img.shields.io/github/stars/sciter-sdk/go-sciter?style=social) : `Sciter` 的` Go` 语言接口,支持现代 GUI 程序开发的、嵌入式 HTML/CSS/脚本引擎。具有跨平台特性。 * [gotk3](https://github.com/gotk3/gotk3) ![](https://img.shields.io/github/stars/gotk3/gotk3?style=social) : ` GTK3 `的Go语言接口 * [qt](https://github.com/therecipe/qt) ![](https://img.shields.io/github/stars/therecipe/qt?style=social) : ` Qt`的`Go`语言接口 (支持 `Windows,macOS,Linux,Android,iOS,Sailfish OS, Raspberry Pi`) * [ui](https://github.com/andlabs/ui) ![](https://img.shields.io/github/stars/andlabs/ui?style=social) : 跨平台的原生 GUI 库 * [walk](https://github.com/lxn/walk) ![](https://img.shields.io/github/stars/lxn/walk?style=social) : `windows `应用程序开发工具包 * [webview](https://github.com/zserge/webview) ![](https://img.shields.io/github/stars/zserge/webview?style=social) : 支持双向` JavaScript `绑定的跨平台 webview 窗口库(`Windows,macOS,Linux`)。 * [robotgo](https://github.com/go-vgo/robotgo) ![](https://img.shields.io/github/stars/go-vgo/robotgo?style=social) : 跨平台`GUI`自动化工具,可以控制鼠标、键盘及其他设备 * [systray](https://github.com/getlantern/systray) ![](https://img.shields.io/github/stars/getlantern/systray?style=social) : 跨平台的` Go` 语言库,用于在桌面提醒区域放置按钮及菜单 ---- ## 硬件 `与硬件交互的库、工具` * 请参考 [go-hardware](https://github.com/rakyll/go-hardware) ![](https://img.shields.io/github/stars/rakyll/go-hardware?style=social) ---- ## Images 图像处理 * [bild](https://github.com/anthonynsimon/bild) ![](https://img.shields.io/github/stars/anthonynsimon/bild?style=social) : 汇集了使用 `Go `语言编写的图像处理算法 * [bimg](https://github.com/h2non/bimg) ![](https://img.shields.io/github/stars/h2non/bimg?style=social) : 利用` libvips `进行快速高效的图像处理 * [canvas](https://github.com/tdewolff/canvas) ![](https://img.shields.io/github/stars/tdewolff/canvas?style=social) : 将矢量图形转换成 `PDF、SVG `或光栅化图像。 * [geopattern](https://github.com/pravj/geopattern) ![](https://img.shields.io/github/stars/pravj/geopattern?style=social) : 从字符串创建优美的图样 * [gg](https://github.com/fogleman/gg) ![](https://img.shields.io/github/stars/fogleman/gg?style=social) : 使用` Go `编写的 `2D `渲染程序 * [gift](https://github.com/disintegration/gift) ![](https://img.shields.io/github/stars/disintegration/gift?style=social) : 图像处理过滤器包 * [go-nude](https://github.com/koyachi/go-nude) ![](https://img.shields.io/github/stars/koyachi/go-nude?style=social) : 使用 `Go` 语言进行裸替检测 * [go-opencv](https://github.com/lazywei/go-opencv) ![](https://img.shields.io/github/stars/lazywei/go-opencv?style=social) : `OpenCV` 的 `Go `语言接口 * [gocv](https://github.com/hybridgroup/gocv) ![](https://img.shields.io/github/stars/hybridgroup/gocv?style=social) : 使用` OpenCV 3.3+` 的计算机视觉的 `Go` 包。 * [imagick](https://github.com/gographics/imagick) ![](https://img.shields.io/github/stars/gographics/imagick?style=social) : `ImageMagick `的 `MagickWand C `语言` API` 的 `Go `语言接口 * [imaginary](https://github.com/h2non/imaginary) ![](https://img.shields.io/github/stars/h2non/imaginary?style=social) : 快速且简单的 `HTTP `微服务,用于图像缩放 * [imaging](https://github.com/disintegration/imaging) ![](https://img.shields.io/github/stars/disintegration/imaging?style=social) : 简单的`Go`图像处理包。 * [ln](https://github.com/fogleman/ln) ![](https://img.shields.io/github/stars/fogleman/ln?style=social) : ` 3D` 图线艺术渲染 * [picfit](https://github.com/thoas/picfit) ![](https://img.shields.io/github/stars/thoas/picfit?style=social) : 一个使用 `Go `语言编写的图片缩放服务器 * [pt](https://github.com/fogleman/pt) ![](https://img.shields.io/github/stars/fogleman/pt?style=social) : 光线追踪引擎 * [resize](https://github.com/nfnt/resize) ![](https://img.shields.io/github/stars/nfnt/resize?style=social) : 使用 `Go`语言编写的具有常见差值功能的图片缩放工具 * [smartcrop](https://github.com/muesli/smartcrop) ![](https://img.shields.io/github/stars/muesli/smartcrop?style=social) : - 为任意图片进行剪裁的工具 * [stegify](https://github.com/DimitarPetrov/stegify) ![](https://img.shields.io/github/stars/DimitarPetrov/stegify?style=social) : 用于`LSB`隐写的`Go`工具,能够隐藏图像中的任何文 * [svgo](https://github.com/ajstarks/svgo) ![](https://img.shields.io/github/stars/ajstarks/svgo?style=social) : 用于生成 `SVG `的` Go `语言库 ## 物联网(IOT) * [flogo](https://github.com/tibcosoftware/flogo) ![](https://img.shields.io/github/stars/tibcosoftware/flogo?style=social) :` FloGo `是一个用于物联网 `Edge App `及集成的开源框架 * [gatt](https://github.com/paypal/gatt) ![](https://img.shields.io/github/stars/paypal/gatt?style=social) : ` Gatt `是一个用于创建低功耗蓝牙外设的库 * [gobot](https://github.com/hybridgroup/gobot/) ![](https://img.shields.io/github/stars/hybridgroup/gobot?style=social): ` Gobot` 是一个用于机器人,物理计算以及物联网的库 * [mainflux](https://github.com/Mainflux/mainflux) ![](https://img.shields.io/github/stars/Mainflux/mainflux?style=social) : 工业物联网消息传递和设备管理服务器。 * [periph](https://periph.io/) : 外设`I/O,`用于连接低级板卡设施。 ## 作业调度 * [gocron](https://github.com/go-co-op/gocron) ![](https://img.shields.io/github/stars/go-co-op/gocron?style=social) : 简单流畅的`Go`作业调度。这是·`jasonlvhit/gocron`·`的一个积极维护的fork. * [gron](https://github.com/roylee0704/gron) ![](https://img.shields.io/github/stars/roylee0704/gron?style=social) : 使用简单的 `Go API` 定义基于时间的任务,`Gron `的调度器将相应地运行它们。 * [JobRunner](https://github.com/bamzi/jobrunner) ![](https://img.shields.io/github/stars/bamzi/jobrunner?style=social) : 智能且功能丰富的`cron`任务调度器,内置任务队列和实时监控。 * [jobs](https://github.com/albrow/jobs) ![](https://img.shields.io/github/stars/albrow/jobs?style=social) : 持久而灵活的后台作业库。 * [scheduler](https://github.com/carlescere/scheduler) ![](https://img.shields.io/github/stars/carlescere/scheduler?style=social) : ` Cronjobs`调度系统。 ---- ## JSON * [GJSON](https://github.com/tidwall/gjson) ![](https://img.shields.io/github/stars/tidwall/gjson?style=social) : 用一行代码获取`JSON`值。 * [gojson](https://github.com/ChimeraCoder/gojson) ![](https://img.shields.io/github/stars/ChimeraCoder/gojson?style=social) : 从示例 `JSON `自动生成 `Go`结构体定义的库。 * [JSON-to-Go](https://mholt.github.io/json-to-go/) ![](https://img.shields.io/github/stars/mholt/json-to-go?style=social) : 将`JSON`转换为`Go`结构 ---- ## Logging 日志库 * [glog](https://github.com/golang/glog) ![](https://img.shields.io/github/stars/golang/glog?style=social) : `Go`的分级日志 * [log](https://github.com/apex/log) ![](https://img.shields.io/github/stars/apex/log?style=social) : Go的结构化日志包。 * [log15](https://github.com/inconshreveable/log15) ![](https://img.shields.io/github/stars/inconshreveable/log15?style=social) : 简单、强大的`Go`日志记录。 * [logrus](https://github.com/sirupsen/logrus) ![](https://img.shields.io/github/stars/sirupsen/logrus?style=social) : ` Go `的结构化日志记录器。 * [lumberjack](https://github.com/natefinch/lumberjack) ![](https://img.shields.io/github/stars/natefinch/lumberjack?style=social) : 简单的循环日志工具。 * [seelog](https://github.com/cihub/seelog) ![](https://img.shields.io/github/stars/cihub/seelog?style=social) : 灵活的、解耦的、格式化的日志库 * [spew](https://github.com/davecgh/go-spew) ![](https://img.shields.io/github/stars/davecgh/go-spew?style=social) : - 为 `Go `语言的数据结构实现了一个整洁的打印功能,有助于调试 * [tail](https://github.com/hpcloud/tail) ![](https://img.shields.io/github/stars/hpcloud/tail?style=social) : 这个 `Go `语言软件包力争模拟 `BSD tail `的功能 * [zap](https://github.com/uber-go/zap) ![](https://img.shields.io/github/stars/uber-go/zap?style=social) : 快速的、结构化的、分级的日志库 * [zerolog](https://github.com/rs/zerolog) ![](https://img.shields.io/github/stars/rs/zerolog?style=social) : 零内存分配 的`JSON `日志库. ---- ## 机器学习 * [bayesian](https://github.com/jbrukh/bayesian) ![](https://img.shields.io/github/stars/jbrukh/bayesian?style=social) : 贝叶斯分类器 * [CloudForest](https://github.com/ryanbressler/CloudForest) ![](https://img.shields.io/github/stars/ryanbressler/CloudForest?style=social) : 纯 `Go `语言编写的快速、灵活、多线程决策树 * [eaopt](https://github.com/MaxHalford/eaopt) ![](https://img.shields.io/github/stars/MaxHalford/eaopt?style=social) : 进化优化库。 * [go-deep](https://github.com/patrikeh/go-deep) ![](https://img.shields.io/github/stars/patrikeh/go-deep?style=social) : 用`Go`编写的功能丰富的神经网络库。 * [GoLearn](https://github.com/sjwhitworth/golearn) ![](https://img.shields.io/github/stars/sjwhitworth/golearn?style=social) : ` Go `语言通用机器学习库 * [goml](https://github.com/cdipaolo/goml) ![](https://img.shields.io/github/stars/cdipaolo/goml?style=social) : 即时`go`语言机器学习库 * [gorgonia](https://github.com/gorgonia/gorgonia) ![](https://img.shields.io/github/stars/gorgonia/gorgonia?style=social) : 基于图的计算库,类似于 `Theano`。提供了一些原型用于构建各种个样的机器学习和神经网络算法 * [gorse](https://github.com/zhenghaoz/gorse) ![](https://img.shields.io/github/stars/zhenghaoz/gorse?style=social) : 用`Go`编写的基于协作过滤的离线推荐系统后台。 * [gosseract](https://github.com/otiai10/gosseract) ![](https://img.shields.io/github/stars/otiai10/gosseract?style=social) : 用于`OCR`(光学字符识别)的`Go`包,使用`Tesseract C++`库。 * [tfgo](https://github.com/galeone/tfgo) ![](https://img.shields.io/github/stars/galeone/tfgo?style=social) : 易于使用的`Tensorflow `` g`o语言封装:简化了官方`Tensorflow Go`的使用。 ---- ## 消息系统 * [APNs2](https://github.com/sideshow/apns2) ![](https://img.shields.io/github/stars/sideshow/apns2?style=social) : `go`语言实现的基于`HTTP/2`苹果推送通知提供服务,可以向`iOS`、`tvOS`、`Safari`和`OSX`应用程序发送推送通知 * [Asynq](https://github.com/hibiken/asynq) ![](https://img.shields.io/github/stars/hibiken/asynq?style=social) : 建立在 `Redis` 之上,为 `Go` 提供的简单、可靠、高效的分布式任务队列,。 * [Beaver](https://github.com/Clivern/Beaver) ![](https://img.shields.io/github/stars/Clivern/Beaver?style=social) : 实时消息服务器,用于在网络和移动应用中构建可扩展的应用内通知、多人游戏、聊天应用。 * [Benthos](https://github.com/Jeffail/benthos) ![](https://img.shields.io/github/stars/Jeffail/benthos?style=social) : 在一系列协议之间建立消息流`go`代码库 * [Centrifugo](https://github.com/centrifugal/centrifugo) ![](https://img.shields.io/github/stars/centrifugal/centrifugo?style=social) : 实时消息服务器 * [Confluent Kafka Golang Client](https://github.com/confluentinc/confluent-kafka-go) ![](https://img.shields.io/github/stars/confluentinc/confluent-kafka-go?style=social) 是`Confluent`为`Apache Kafka`和`Confluent Platform`开发的`Golang`客户端。 * [EventBus](https://github.com/asaskevich/EventBus) ![](https://img.shields.io/github/stars/asaskevich/EventBus?style=social) : 轻量级事件库,支持异步 * [go-nsq](https://github.com/nsqio/go-nsq) ![](https://img.shields.io/github/stars/nsqio/go-nsq?style=social) : `NSQ `官方 `Go` 语言库 * [go-socket.io](https://github.com/googollee/go-socket.io) ![](https://img.shields.io/github/stars/googollee/go-socket.io?style=social)Go 语言的 `socket.io`库 ,一个实时应用框架. * [Gollum](https://github.com/trivago/gollum) ![](https://img.shields.io/github/stars/trivago/gollum?style=social) : 一个` n:m` 的多路复用器,从不同的源汇聚消息并向目标进行广播 * [gopush-cluster](https://github.com/Terry-Mao/gopush-cluster) ![](https://img.shields.io/github/stars/Terry-Mao/gopush-cluster?style=social) : Gopush-cluster 是一个` Go `语言实现的支持集群的`comet`服务(支持` websocket`和`tcp`协议) * [gorush](https://github.com/appleboy/gorush) ![](https://img.shields.io/github/stars/appleboy/gorush?style=social) 通知推送服务器,使用 [APNs2](https://github.com/sideshow/apns2) 和 [GCM](https://github.com/google/go-gcm)。 * [machinery](https://github.com/RichardKnop/machinery) ![](https://img.shields.io/github/stars/RichardKnop/machinery?style=social) : 异步任务队列,基于分布式消息处理 * [mangos](https://github.com/go-mangos/mangos) ![](https://img.shields.io/github/stars/go-mangos/mangos?style=social) : 纯 `Go `语言实现的 `Nanomsg ("Scalable Protocols")` * [melody](https://github.com/olahol/melody) ![](https://img.shields.io/github/stars/olahol/melody?style=social) : 用于处理`websocket`会话的简约框架,包括广播和自动`ping/pong`处理。 * [Mercure](https://github.com/dunglas/mercure) ![](https://img.shields.io/github/stars/dunglas/mercure?style=social) : 使用`Mercure`协议(建立在`Server-Sent Events`之上)来调度服务器发送的更新的代码库。 * [NATS Go Client](https://github.com/nats-io/nats) ![](https://img.shields.io/github/stars/nats-io/nats?style=social) : 原生的 `oplog/replication `系统,用于 `REST APIs`场景 * [sarama](https://github.com/Shopify/sarama) ![](https://img.shields.io/github/stars/Shopify/sarama?style=social) : 用于 `Apache Kafka `的库 * [Uniqush-Push](https://github.com/uniqush/uniqush-push) ![](https://img.shields.io/github/stars/uniqush/uniqush-push?style=social) : 基于 `Redis` 的统一推服务,用于服务器端向移动客户端推送消息 * [zmq4](https://github.com/pebbe/zmq4) ![](https://img.shields.io/github/stars/pebbe/zmq4?style=social) : `ZeroMQ version 4`的 `GO `语言接口。也有适用于[version 3](https://github.com/pebbe/zmq3) 及 [version 2](https://github.com/pebbe/zmq2) 的。 ## Microsoft Office * [unioffice](https://github.com/unidoc/unioffice) ![](https://img.shields.io/github/stars/unidoc/unioffice?style=social) : 用于创建和处理`Office Word (.docx)、Excel (.xlsx)`和`Powerpoint (.pptx)`文档的纯`go`库。 ### EXCEL * [excelize](https://github.com/360EntSecGroup-Skylar/excelize) ![](https://img.shields.io/github/stars/360EntSecGroup-Skylar/excelize?style=social) : 用于读写 `Microsoft Excel™ (XLSX)` 文件的 `Golang `库 * [xlsx](https://github.com/tealeg/xlsx) ![](https://img.shields.io/github/stars/tealeg/xlsx?style=social) : 用于在 `Go` 程序中读取最新版 Microsoft Excel的库 ## 其他杂项 ### 依赖性注入 * [dig](https://github.com/uber-go/dig) ![](https://img.shields.io/github/stars/uber-go/dig?style=social) : 基于反射的`Go`依赖注入工具包。 * [fx](https://github.com/uber-go/fx) ![](https://img.shields.io/github/stars/uber-go/fx?style=social) : 基于 `Go `的依赖注入应用框架(建立在 `dig` 的基础上)。 ### 项目结构 `用于构建项目的非官方模式集。` * [cookiecutter-golang](https://github.com/lacion/cookiecutter-golang) ![](https://img.shields.io/github/stars/lacion/cookiecutter-golang?style=social) :Go应用程序模板,用于按照生产最佳实践快速启动项目。 * [golang-standards/project-layout](https://github.com/golang-standards/project-layout) ![](https://img.shields.io/github/stars/golang-standards/project-layout?style=social) : -` Go` 生态系统中常见的历史和新兴项目布局模式集。 * [modern-go-application](https://github.com/sagikazarmark/modern-go-application) ![](https://img.shields.io/github/stars/sagikazarmark/modern-go-application?style=social) : 应用现代实践的` Go` 应用程序模板和示例。 ---- ### 字符串处理 * [xstrings](https://github.com/huandu/xstrings) ![](https://img.shields.io/github/stars/huandu/xstrings?style=social) : 从其他语言移植过来的字符串函数集合。 ### 暂未分类 `这些库被放在这里是因为其他类别似乎都不适合。` * [antch](https://github.com/antchfx/antch) ![](https://img.shields.io/github/stars/antchfx/antch?style=social) : 一个快速、强大、可扩展的网络爬行和抓取框架。 * [archiver](https://github.com/mholt/archiver) ![](https://img.shields.io/github/stars/mholt/archiver?style=social) : 用于制作和解压`.zip`和`.tar.gz`文件的库和命令。 * [base64Captcha](https://github.com/mojocn/base64Captcha) ![](https://img.shields.io/github/stars/mojocn/base64Captcha?style=social) : ` Base64captch`支持数字、数字、字母、算术、音频和数字来生成字母验证码。 * [conv](https://github.com/cstockton/go-conv) ![](https://img.shields.io/github/stars/cstockton/go-conv?style=social) : 包` conv `提供了跨` Go `类型的快速和直观的转换。 * [gatus](https://github.com/TwinProduction/gatus) ![](https://img.shields.io/github/stars/TwinProduction/gatus?style=social) : 自动化的服务健康仪表板。 * [go-commons-pool](https://github.com/jolestar/go-commons-pool) ![](https://img.shields.io/github/stars/jolestar/go-commons-pool?style=social) : `Golang` 的通用对象池。 * [go-openapi](https://github.com/go-openapi) : 解析和使用 `open-api` 模式的软件包集合。 * [go-resiliency](https://github.com/eapache/go-resiliency) ![](https://img.shields.io/github/stars/eapache/go-resiliency?style=social) : ` golang `的弹性模式。 * [go-unarr](https://github.com/gen2brain/go-unarr) ![](https://img.shields.io/github/stars/gen2brain/go-unarr?style=social) : `RAR、TAR、ZIP` 和` 7z `文件的解压库。 * [gofakeit](https://github.com/brianvoe/gofakeit) ![](https://img.shields.io/github/stars/brianvoe/gofakeit?style=social) : 用`go`编写的随机数据生成器。 * [gopsutil](https://github.com/shirou/gopsutil) ![](https://img.shields.io/github/stars/shirou/gopsutil?style=social) : 跨平台库,用于检索进程和系统利用率(`CPU`、内存、磁盘等)。 * [gosms](https://github.com/haxpax/gosms) ![](https://img.shields.io/github/stars/haxpax/gosms?style=social) : 你本地的`SMS `网关,可以用来发送 `SMS` * [llvm](https://github.com/llir/llvm) ![](https://img.shields.io/github/stars/llir/llvm?style=social) : - 用于在纯`Go`中与`LLVM IR`交互的库。 * [shortid](https://github.com/teris-io/shortid) ![](https://img.shields.io/github/stars/teris-io/shortid?style=social) : 分布式生成超短的、唯一的、非序列的、URL友好的ID。 ---- ## 自然语言处理 * [go-pinyin](https://github.com/mozillazg/go-pinyin) ![](https://img.shields.io/github/stars/mozillazg/go-pinyin?style=social) : 汉字到汉语拼音转换器。 * [gojieba](https://github.com/yanyiwu/gojieba) ![](https://img.shields.io/github/stars/yanyiwu/gojieba?style=social) : 结巴分词的 `Go `语言实现的 [jieba](https://github.com/fxsjy/jieba) ,结巴分词是一个用于中文的分词算法 * [gse](https://github.com/go-ego/gse) ![](https://img.shields.io/github/stars/go-ego/gse?style=social) : ` Go`高效的文本分割;支持英语、中文、日语和其他语言。 * [kagome](https://github.com/ikawaha/kagome) ![](https://img.shields.io/github/stars/ikawaha/kagome?style=social) : 用纯`Go`编写的`JP`形态分析器。 * [prose](https://github.com/jdkato/prose) ![](https://img.shields.io/github/stars/jdkato/prose?style=social) : 文本处理库,支持词语切分、词性标记、命名实体提取等功能 * [whatlanggo](https://github.com/abadojack/whatlanggo) ![](https://img.shields.io/github/stars/abadojack/whatlanggo?style=social) : ` Go `语言的自然语言检测包。支持84种语言和24种书写 (如拉丁,西里尔等书写系统)。 * [when](https://github.com/olebedev/when) ![](https://img.shields.io/github/stars/olebedev/when?style=social) : 英语、俄语的自然语言日期、时间表达解析器。 ---- ## 网络相关库 * [cidranger](https://github.com/yl2chen/cidranger) ![](https://img.shields.io/github/stars/yl2chen/cidranger?style=social) : `Go`的快速`IP、CIDR`查找库。 * [dns](https://github.com/miekg/dns) ![](https://img.shields.io/github/stars/miekg/dns?style=social) : 用于处理` DNS` 的` Go` 语言库 * [fasthttp](https://github.com/valyala/fasthttp) ![](https://img.shields.io/github/stars/valyala/fasthttp?style=social) : `asthttp` 是一个快速的`HTTP`实现,比`net/http1`的性能快10倍 * [fortio](https://github.com/fortio/fortio) ![](https://img.shields.io/github/stars/fortio/fortio?style=social) : 负载测试库和命令行工具,提供先进的`echo`服务器和web用户界面。允许指定设定每秒钟查询的负载,记录延迟直方图和其他有用的统计数据,并将其绘制成图表。 * [ftp](https://github.com/jlaffaye/ftp) ![](https://img.shields.io/github/stars/jlaffaye/ftp?style=social) :` ftp` 实现了一个`FTP` 客户端,遵循 [RFC 959](http://tools.ietf.org/html/rfc959) 标准。 * [gev](https://github.com/Allenxuxu/gev) ![](https://img.shields.io/github/stars/Allenxuxu/gev?style=social) : 一个轻量、比标准库更快的基于` Reactor` 模式的非阻塞`TCP`网络库,支持自定义协议,可以轻松快速搭建高性能服务器。 * [gnet](https://github.com/panjf2000/gnet) ![](https://img.shields.io/github/stars/panjf2000/gnet?style=social) : `gnet`是用纯Go编写 的一个高性能、轻量级、非阻塞、事件驱动的网络框架, * [go-getter](https://github.com/hashicorp/go-getter) ![](https://img.shields.io/github/stars/hashicorp/go-getter?style=social) : 一个用于通过 URL 从多种源下载文件或目录的 Go 语言库 * [gobgp](https://github.com/osrg/gobgp) ![](https://img.shields.io/github/stars/osrg/gobgp?style=social) : `Go`语言实现的BGP * [gopacket](https://github.com/google/gopacket) ![](https://img.shields.io/github/stars/google/gopacket?style=social) : 用于报文处理的库 * [grab](https://github.com/cavaliercoder/grab) ![](https://img.shields.io/github/stars/cavaliercoder/grab?style=social) : 管理文件下载的`Go` 语言库 * [HTTPLab](https://github.com/gchaincl/httplab) ![](https://img.shields.io/github/stars/gchaincl/httplab?style=social) : `HTTPLabs`让你检查` HTTP`请求和伪造响应。 * [kcp-go](https://github.com/xtaci/kcp-go) ![](https://img.shields.io/github/stars/xtaci/kcp-go?style=social) :` KCP` - 快速可靠的`ARQ`协议。 * [kcptun](https://github.com/xtaci/kcptun) ![](https://img.shields.io/github/stars/xtaci/kcptun?style=social) : 基于`KCP`协议的极其简单和快速的`udp`隧道。 * [lhttp](https://github.com/fanux/lhttp) ![](https://img.shields.io/github/stars/fanux/lhttp?style=social) : 强大的`websocket`框架,让您更轻松地建立`IM`服务器。 * [mdns](https://github.com/hashicorp/mdns) ![](https://img.shields.io/github/stars/hashicorp/mdns?style=social) : 简单的` mDNS` (组播 DNS)客户端/服务器库 * [NFF-Go](https://github.com/intel-go/nff-go) ![](https://img.shields.io/github/stars/intel-go/nff-go?style=social) : 用于快速开发云和裸机(原`YANFF`)的高性能网络功能的框架。 * [quic-go](https://github.com/lucas-clemente/quic-go) ![](https://img.shields.io/github/stars/lucas-clemente/quic-go?style=social) : 纯`Go`中`QUIC`协议的实现。 * [sftp](https://github.com/pkg/sftp) ![](https://img.shields.io/github/stars/pkg/sftp?style=social) : `sftp` 实现了[https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt](https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt) 中描述的 SSH 文件传输协议 * [ssh](https://github.com/gliderlabs/ssh) ![](https://img.shields.io/github/stars/gliderlabs/ssh?style=social) : 用于创建 SSH 服务器的高级` API`(封装了`crypto/ssh`). * [water](https://github.com/songgao/water) ![](https://img.shields.io/github/stars/songgao/water?style=social) : 一个简单的`TUN/TAP`库。 * [webrtc](https://github.com/pions/webrtc) ![](https://img.shields.io/github/stars/pions/webrtc?style=social) :` WebRTC API`的纯`Go`实现。 ---- ### Http Client * [grequests](https://github.com/levigross/grequests) ![](https://img.shields.io/github/stars/levigross/grequests?style=social) : 著名的请求库的`Go`版本。 * [heimdall](https://github.com/gojektech/heimdall) ![](https://img.shields.io/github/stars/gojektech/heimdall?style=social) : 具有重试和`hystrix`功能的`http`客户端。 * [resty](https://github.com/go-resty/resty) ![](https://img.shields.io/github/stars/go-resty/resty?style=social) : 受`Ruby rest-client` 的启发,为`Go` 设计的简单` HTTP`和`REST`客户端。 * [sling](https://github.com/dghubble/sling) ![](https://img.shields.io/github/stars/dghubble/sling?style=social) : 用于创建和发送` API`请求的`Go HTTP`客户端库。 ---- ### OpenGL * [gl](https://github.com/go-gl/gl) ![](https://img.shields.io/github/stars/go-gl/gl?style=social) : `OpenGL`的`Go`语言接口 * [glfw](https://github.com/go-gl/glfw) ![](https://img.shields.io/github/stars/go-gl/glfw?style=social) : `GLFW 3`的`Go`语言接口 ---- ### ORM * [beego orm](https://github.com/astaxie/beego/tree/master/orm) : 强大的`Go` 语言` orm` 框架,支持`pq/mysql/sqlite3`. * [ent](https://github.com/facebook/ent) ![](https://img.shields.io/github/stars/facebook/ent?style=social) : 简单而强大的用于数据建模和查询的ORM。 * [go-pg](https://github.com/go-pg/pg) ![](https://img.shields.io/github/stars/go-pg/pg?style=social) : 专注于`PostgreSQL`功能和性能的`ORM`。 * [go-sqlbuilder](https://github.com/huandu/go-sqlbuilder) ![](https://img.shields.io/github/stars/huandu/go-sqlbuilder?style=social) : 灵活而强大的`SQL`字符串构建库,加上一个零配置的`ORM`。 * [GORM](https://github.com/go-gorm/gorm) ![](https://img.shields.io/github/stars/go-gorm/gorm?style=social) : 超棒的` Go` 语言` ORM` 库,对开发者非常友好 * [gormt](https://github.com/xxjwxc/gormt) ![](https://img.shields.io/github/stars/xxjwxc/gormt?style=social) : `Mysql`数据库到Golang 结构体的`orm`库。 * [gorp](https://github.com/go-gorp/gorp) ![](https://img.shields.io/github/stars/go-gorp/gorp?style=social) :` Go`的`ORM`类库。 * [pop/soda](https://github.com/gobuffalo/pop) ![](https://img.shields.io/github/stars/gobuffalo/pop?style=social) : 支持` MySQL, PostgreSQL`, 以及`SQLite`.的数据库迁移、创建、`ORM` 的工具, * [QBS](https://github.com/coocood/qbs) ![](https://img.shields.io/github/stars/coocood/qbs?style=social) : 利用结构体进行标准查询,是一个` Go`语言`ORM` * [reform](https://github.com/go-reform/reform) ![](https://img.shields.io/github/stars/go-reform/reform?style=social) : 基于非空接口和代码生成的优秀的` ORM`, * [SQLBoiler](https://github.com/volatiletech/sqlboiler) ![](https://img.shields.io/github/stars/volatiletech/sqlboiler?style=social) :`ORM` 生成器。为你的数据库表单生成一个功能全面、快速的` ORM` * [upper.io/db](https://github.com/upper/db) ![](https://img.shields.io/github/stars/upper/db?style=social) : - 通过使用封装了成熟的数据库驱动的适配器,来使用单一接口与不同的数据源进行交互 * [XORM](https://gitea.com/xorm/xorm) : 简单、强大的` Go` 语言` orm` ---- ## Go语言包管理 * [go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) : `go module`是最新的`go`语言版本管理工具。`go module`具有支持包引入记录和其他模块的依赖构建功能。 * [dep](https://github.com/golang/dep) ![](https://img.shields.io/github/stars/golang/dep?style=social) : Go 语言依赖工具. * [glide](https://github.com/Masterminds/glide) ![](https://img.shields.io/github/stars/Masterminds/glide?style=social) : 轻松管理你的`GO` 语言包发布者以及发布包。 受到类似` Maven, Bundler` 和`Pip`这些工具的的启发 * [godep](https://github.com/tools/godep) ![](https://img.shields.io/github/stars/tools/godep?style=social) : `Go` 语言依赖工具,`Godep`可以帮助开发者修复库的依赖关系 * [gom](https://github.com/mattn/gom) ![](https://img.shields.io/github/stars/mattn/gom?style=social) : ` Go Manager` * [gopm](https://github.com/gpmgo/gopm) ![](https://img.shields.io/github/stars/gpmgo/gopm?style=social) : ` Go` 包管理器 * [govendor](https://github.com/kardianos/govendor) ![](https://img.shields.io/github/stars/kardianos/govendor?style=social) : Go 包管理器。` Go`语言`vendor` 工具,兼容标准` vendor`文件 * [gpm](https://github.com/pote/gpm) ![](https://img.shields.io/github/stars/pote/gpm?style=social) : ` Go`语言包管理工具 * [jaeger](https://github.com/jaegertracing/jaeger) ![](https://img.shields.io/github/stars/jaegertracing/jaeger?style=social) : 分布式跟踪系统。 * [profile](https://github.com/pkg/profile) ![](https://img.shields.io/github/stars/pkg/profile?style=social) : `Go` 的简单剖析支持包。 * [statsviz](https://github.com/arl/statsviz) ![](https://img.shields.io/github/stars/arl/statsviz?style=social) : 实时可视化你的`Go`应用程序运行时的统计数据。 ---- ### 查询语 * [gojsonq](https://github.com/thedevsaddam/gojsonq) ![](https://img.shields.io/github/stars/thedevsaddam/gojsonq?style=social) : 用于查询`JSON`数据的`Go`包 * [graphql](https://github.com/neelance/graphql-go) ![](https://img.shields.io/github/stars/neelance/graphql-go?style=social) : 专注于易用性的`GraphQL` 服务器 * [graphql-go](https://github.com/graphql-go/graphql) ![](https://img.shields.io/github/stars/graphql-go/graphql?style=social) : 为`Go`语言实现的`GraphQL` ---- ## 资源嵌入 * [go.rice](https://github.com/GeertJohan/go.rice) ![](https://img.shields.io/github/stars/GeertJohan/go.rice?style=social) :` Go.rice`是一个让你轻松使用`html,js,css,`图片以及模板这类资源的库 * [packr](https://github.com/gobuffalo/packr) ![](https://img.shields.io/github/stars/gobuffalo/packr?style=social) : 将静态文件嵌入`Go`二进制文件的简单方法。 * [statik](https://github.com/rakyll/statik) ![](https://img.shields.io/github/stars/rakyll/statik?style=social) : 将静态文件嵌入到`Go` 语言可执行文件中 ---- ## 数据分析与数据科学 * [chart](https://github.com/vdobler/chart) ![](https://img.shields.io/github/stars/vdobler/chart?style=social) : Go的简单图表绘制库,支持多种图形类型。 * [dataframe-go](https://github.com/rocketlaunchr/dataframe-go) ![](https://img.shields.io/github/stars/rocketlaunchr/dataframe-go?style=social) : 用于机器学习和统计的数据框类似于`pandas` * [ewma](https://github.com/VividCortex/ewma) ![](https://img.shields.io/github/stars/VividCortex/ewma?style=social) : 指数加权移动平均数。 * [go-dsp](https://github.com/mjibson/go-dsp) ![](https://img.shields.io/github/stars/mjibson/go-dsp?style=social) : 数字信号处理 * [gohistogram](https://github.com/VividCortex/gohistogram) ![](https://img.shields.io/github/stars/VividCortex/gohistogram?style=social) : 数据流的近似直方图 * [gonum](https://github.com/gonum/gonum) ![](https://img.shields.io/github/stars/gonum/gonum?style=social) : 用于` Go` 编程语言的数值库。它包含了矩阵、统计、优化等方面的库。 * [gonum/plot](https://github.com/gonum/plot) ![](https://img.shields.io/github/stars/gonum/plot?style=social) : `Gonum/plot`提供了用于创建和绘制图表的`API` * [goraph](https://github.com/gyuho/goraph) ![](https://img.shields.io/github/stars/gyuho/goraph?style=social) : 纯`Go`语言编写的图论库(数据结构,算法可视化) * [gosl](https://github.com/cpmech/gosl) ![](https://img.shields.io/github/stars/cpmech/gosl?style=social) : 用于线性代数、FFT、几何学、`NURBS`、数值方法、概率、优化、微分方程等的` Go` 科学库。 * [graph](https://github.com/yourbasic/graph) ![](https://img.shields.io/github/stars/yourbasic/graph?style=social) : 基本图形算法库。 * [stats](https://github.com/montanaflynn/stats) ![](https://img.shields.io/github/stars/montanaflynn/stats?style=social) : 统计库,包含一些` Go` 语言标准库中漏掉的常用函数 * [streamtools](https://github.com/nytlabs/streamtools) ![](https://img.shields.io/github/stars/nytlabs/streamtools?style=social) : 通用图形化工具,用于处理流数据 ---- ## 安全领域相关库 * [acmetool](https://github.com/hlandau/acme) ![](https://img.shields.io/github/stars/hlandau/acme?style=social) :` ACME (Let's Encrypt)` 客户端工具,支持自动续期. * [acra](https://github.com/cossacklabs/acra) ![](https://img.shields.io/github/stars/cossacklabs/acra?style=social) : 用于保护基于数据库的应用程序的网络加密代理,用于防止数据泄露、`SQL`注入等。 * [Cameradar](https://github.com/Ullaakut/cameradar) ![](https://img.shields.io/github/stars/Ullaakut/cameradar?style=social) : 用于远程入侵监控摄像头的`RTSP`流的工具库。 * [lego](https://github.com/go-acme/lego) ![](https://img.shields.io/github/stars/go-acme/lego?style=social) : 纯` Go`语言开发的` ACME` 客户端库及命令行工具 * [memguard](https://github.com/awnumar/memguard) ![](https://img.shields.io/github/stars/awnumar/memguard?style=social) : 用于处理内存中敏感数据的`Go` 语言库 * [secure](https://github.com/unrolled/secure) ![](https://img.shields.io/github/stars/unrolled/secure?style=social) : 为 Go 提供了一些安全功能` HTTP` 中间件, * [themis](https://github.com/cossacklabs/themis) ![](https://img.shields.io/github/stars/cossacklabs/themis?style=social) : 高级加密库,用于解决典型的数据安全任务(安全数据存储、安全消息传递、零知识证明认证),提供14种语言,最适合多平台应用。 ---- ## 序列化 * [colfer](https://github.com/pascaldekloe/colfer) ![](https://img.shields.io/github/stars/pascaldekloe/colfer?style=social) : 用于生成` Colfer`二进制格式代码 * [csvutil](https://github.com/jszwec/csvutil) ![](https://img.shields.io/github/stars/jszwec/csvutil?style=social) : 高性能的`CSV`记录编码和解码器 * [go-capnproto](https://github.com/glycerine/go-capnproto) ![](https://img.shields.io/github/stars/glycerine/go-capnproto?style=social) : Go的`Cap'n Proto`编码器和解析器。 * [go-codec](https://github.com/ugorji/go) ![](https://img.shields.io/github/stars/ugorji/go?style=social) : 高性能、多功能、规范化编码解码以及`rpc`库, 用于` msgpack, cbor`和`json`,支持基于运行时的 OR 码生成 * [gogoprotobuf](https://github.com/gogo/protobuf) ![](https://img.shields.io/github/stars/gogo/protobuf?style=social) : 用于`Gadgets` 的go协议缓冲区。 * [goprotobuf](https://github.com/golang/protobuf) ![](https://img.shields.io/github/stars/golang/protobuf?style=social) : 以库和协议编译器插件的形式为` Google` 的协议缓冲区提供 Go 支持。 * [jsoniter](https://github.com/json-iterator/go) ![](https://img.shields.io/github/stars/json-iterator/go?style=social) : 100%兼容的`"encoding/json "`的 高性能程序库。 * [mapstructure](https://github.com/mitchellh/mapstructure) ![](https://img.shields.io/github/stars/mitchellh/mapstructure?style=social) : 用于将通用`map`值解码为本地Go结构的Go库。 ----- ## 服务端应用 * [algernon](https://github.com/xyproto/algernon) ![](https://img.shields.io/github/stars/xyproto/algernon?style=social) :` HTTP/2 web`服务器,内置`Lua、Markdown、GCSS`和`Amber`支持。 * [devd](https://github.com/cortesi/devd) ![](https://img.shields.io/github/stars/cortesi/devd?style=social) : 开发者使用的本地`web` 服务器 * [discovery](https://github.com/Bilibili/discovery) ![](https://img.shields.io/github/stars/Bilibili/discovery?style=social) : 一个用于弹性中层负载均衡和故障转移的注册表。 * [etcd](https://github.com/coreos/etcd) ![](https://img.shields.io/github/stars/coreos/etcd?style=social) : 高可用性的键值存储,用于分享配置和服务发现 * [Fider](https://github.com/getfider/fider) ![](https://img.shields.io/github/stars/getfider/fider?style=social) : `Fider`是一个收集和整理客户反馈的开放平台。 * [Flagr](https://github.com/checkr/flagr) ![](https://img.shields.io/github/stars/checkr/flagr?style=social) : ` Flagr`是一个开源的功能标志和A/B测试服务。 * [flipt](https://github.com/markphelps/flipt) ![](https://img.shields.io/github/stars/markphelps/flipt?style=social) : 用`Go`和`Vue.js`编写的自带功能标志的解决方案。 * [minio](https://github.com/minio/minio) ![](https://img.shields.io/github/stars/minio/minio?style=social) : Minio 是一个分布式对象存储服务器 * [nsq](http://nsq.io/) ![](https://img.shields.io/github/stars/nsqio/nsq?style=social) : 一个实时的分布式消息平台 * [SFTPGo](https://github.com/drakkan/sftpgo) ![](https://img.shields.io/github/stars/drakkan/sftpgo?style=social) : 功能齐全、高度可配置的`SFTP`服务器,可选择支持`FTP/S和WebDAV`。它可以为本地文件系统和云存储后端服务,如S3和谷歌云存储。 * [Trickster](https://github.com/tricksterproxy/trickster) ![](https://img.shields.io/github/stars/tricksterproxy/trickster?style=social) : `HTTP`反向代理缓存和时间序列加速器。 --- ## 流处理 `流式数据处理和响应式编程库` * [go-streams](https://github.com/reugn/go-streams) ![](https://img.shields.io/github/stars/reugn/go-streams?style=social) :` Go`流处理库。 ---- ## 模板引擎 `模版渲染和模版生成处理库` * [ace](https://github.com/yosssi/ace) ![](https://img.shields.io/github/stars/yosssi/ace?style=social) : Go 语言版本的 HTML 模板引擎,受到了` Slim`和`Jade` 的启发。`Ace` 是对`Gold`的一种改进。 * [amber](https://github.com/eknkc/amber) ![](https://img.shields.io/github/stars/eknkc/amber?style=social) : Amber 是一个优雅的模板引擎,受到`HAML`和`Jade`的启发 * [ego](https://github.com/benbjohnson/ego) ![](https://img.shields.io/github/stars/benbjohnson/ego?style=social) : 轻量级模板语言,让你可以使用` Go`语言来创建模板。模板会被转化为 Go 语言并编译 * [fasttemplate](https://github.com/valyala/fasttemplate) ![](https://img.shields.io/github/stars/valyala/fasttemplate?style=social) : 简单而快速的模板引擎。替换模板占位符的速度比[fasttemplate](https://github.com/valyala/fasttemplate) ![](https://img.shields.io/github/stars/valyala/fasttemplate?style=social) : 快10倍 * [gofpdf](https://github.com/jung-kurt/gofpdf) ![](https://img.shields.io/github/stars/jung-kurt/gofpdf?style=social) : ` PDF`文档生成器,高度支持文本、绘图和图像。 * [hero](https://github.com/shiyanhui/hero) ![](https://img.shields.io/github/stars/shiyanhui/hero?style=social) :` Hero`是一个趁手的、快速的、强大的` Go` 语言模板引擎 * [jet](https://github.com/CloudyKit/jet) ![](https://img.shields.io/github/stars/CloudyKit/jet?style=social) :` Jet` 模板引擎 * [mustache](https://github.com/hoisie/mustache) ![](https://img.shields.io/github/stars/hoisie/mustache?style=social) : `Go`语言实现的` Mustache`模板语言 * [pongo2](https://github.com/flosch/pongo2) ![](https://img.shields.io/github/stars/flosch/pongo2?style=social) : 类似`Django`的模板引擎 * [quicktemplate](https://github.com/valyala/quicktemplate) ![](https://img.shields.io/github/stars/valyala/quicktemplate?style=social) : 快速、强大且易用的模板引擎。将模板转化为` Go` 语言并进行编译 * [Razor](https://github.com/sipin/gorazor) ![](https://img.shields.io/github/stars/sipin/gorazor?style=social) : ` Go`语言的` Razor` 视图引擎 ---- ## 测试相关 `测试库和测试数据集生成库` * 测试框架 * [baloo](https://github.com/h2non/baloo) ![](https://img.shields.io/github/stars/h2non/baloo?style=social) : 表达性强、多功能的、端到端的`HTTP API` 测试工具 * [frisby](https://github.com/verdverm/frisby) ![](https://img.shields.io/github/stars/verdverm/frisby?style=social) : `REST API` 测试框架 * [go-cmp](https://github.com/google/go-cmp) ![](https://img.shields.io/github/stars/google/go-cmp?style=social) : 用于比较测试中的` Go`值的软件包。 * [go-vcr](https://github.com/dnaeon/go-vcr) ![](https://img.shields.io/github/stars/dnaeon/go-vcr?style=social) : 记录并重放` HTTP`交互,用于快速的、确定性的、准确的测试 * [goblin](https://github.com/franela/goblin) ![](https://img.shields.io/github/stars/franela/goblin?style=social) : 类似` Mocha` 的测试框架 * [godog](https://github.com/DATA-DOG/godog) ![](https://img.shields.io/github/stars/DATA-DOG/godog?style=social) : 类似于`Cucumber`或`Behat`的`Go BDD`框架。 * [httpexpect](https://github.com/gavv/httpexpect) ![](https://img.shields.io/github/stars/gavv/httpexpect?style=social) : 简洁的、声明式的、易用的端到端HTTP 及 REST API 测试 * [Testify](https://github.com/stretchr/testify) ![](https://img.shields.io/github/stars/stretchr/testify?style=social) : 对标准测试包的扩展 * [testmd](https://godoc.org/github.com/tvastar/test/cmd/testmd) : 将`markdow`n片段转换为可测试的go代码。 ---- * Mock * [go-sqlmock](https://github.com/DATA-DOG/go-sqlmock) ![](https://img.shields.io/github/stars/DATA-DOG/go-sqlmock?style=social) :` Mock SQL` ,用于测试数据库交互 * [gock](https://github.com/h2non/gock) ![](https://img.shields.io/github/stars/h2non/gock?style=social) : 多功能、易用`HTTP mock` * [gomock](https://github.com/golang/mock) ![](https://img.shields.io/github/stars/golang/mock?style=social) : 给 Go 语言用的`Mock`框架 * [hoverfly](https://github.com/SpectoLabs/hoverfly) ![](https://img.shields.io/github/stars/SpectoLabs/hoverfly?style=social) :` HTTP(S) : proxy,`用于记录和模拟`REST/SOAP API`,具有可扩展的中间件和易于使用的 CLI。 * [httpmock](https://github.com/jarcoal/httpmock) ![](https://img.shields.io/github/stars/jarcoal/httpmock?style=social) : 轻松模拟来自外部资源的 HTTP 响应。 * [minimock](https://github.com/gojuno/minimock) ![](https://img.shields.io/github/stars/gojuno/minimock?style=social) : `Mock`生成器 * Fuzzing and delta-debugging/reducing/shrinking. * [go-fuzz](https://github.com/dvyukov/go-fuzz) ![](https://img.shields.io/github/stars/dvyukov/go-fuzz?style=social) : 随机化测试系统 * [gofuzz](https://github.com/google/gofuzz) ![](https://img.shields.io/github/stars/google/gofuzz?style=social) : 用于生成随机值来初始化`Go`语言对象的库 * Selenium及浏览器控制工具 * [chromedp](https://github.com/knq/chromedp) ![](https://img.shields.io/github/stars/knq/chromedp?style=social) : 用于驱动和测试`Chrome, Safari, Edge, Android Webviews`, 以及其他支持`Chrome`调试协议的产品 * [rod](https://github.com/go-rod/rod) ![](https://img.shields.io/github/stars/go-rod/rod?style=social) : `Devtools`驱动,使网络自动化测试变得简单。 * [selenoid](https://github.com/aerokube/selenoid) ![](https://img.shields.io/github/stars/aerokube/selenoid?style=social) : ` Selenium hub`服务器的替代品,可以在容器中启动浏览器 * Fail injection * [failpoint](https://github.com/pingcap/failpoint) ![](https://img.shields.io/github/stars/pingcap/failpoint?style=social) : Golang中[failpoints](http://www.freebsd.org/cgi/man.cgi?query=fail) 的实现。 ---- ## 文本处理 `解析和操作文本的代码库` * 特定文本格式处理 * [align](https://github.com/Guitarbum722/align) ![](https://img.shields.io/github/stars/Guitarbum722/align?style=social) : 文本对齐 * [allot](https://github.com/sbstjn/allot) ![](https://img.shields.io/github/stars/sbstjn/allot?style=social) : 占位符及通配符文本解析 * [bbConvert](https://github.com/CalebQ42/bbConvert) ![](https://img.shields.io/github/stars/CalebQ42/bbConvert?style=social) : 将`bbCode` 转换为`HTML` * [blackfriday](https://github.com/russross/blackfriday) ![](https://img.shields.io/github/stars/russross/blackfriday?style=social) : `Markdown` 解析器 * [bluemonday](https://github.com/microcosm-cc/bluemonday) ![](https://img.shields.io/github/stars/microcosm-cc/bluemonday?style=social) : ` HTML` 清理工具 * [codetree](https://github.com/aerogo/codetree) ![](https://img.shields.io/github/stars/aerogo/codetree?style=social) : 解析缩进代码(`python、pixy、scarlet`等)并返回一个树形结构。 * [colly](https://github.com/asciimoo/colly) ![](https://img.shields.io/github/stars/asciimoo/colly?style=social) : `go`语言版爬虫框架 * [commonregex](https://github.com/mingrammer/commonregex) ![](https://img.shields.io/github/stars/mingrammer/commonregex?style=social) :` Go`常用正则表达式的集合。 * [dataflowkit](https://github.com/slotix/dataflowkit) ![](https://img.shields.io/github/stars/slotix/dataflowkit?style=social) : `Web`爬虫框架用于将网站转化为结构化数据。 * [did](https://github.com/ockam-network/did) ![](https://img.shields.io/github/stars/ockam-network/did?style=social) : Go中的`DID`(去中心化标识符)解析器和`Stringer`。 * [doi](https://github.com/hscells/doi) ![](https://img.shields.io/github/stars/hscells/doi?style=social) : Go中的文档对象标识符(`doi`)解析器。 * [editorconfig-core-go](https://github.com/editorconfig/editorconfig-core-go) ![](https://img.shields.io/github/stars/editorconfig/editorconfig-core-go?style=social) : Go 语言用的`Editorconfig` 文件解析和操作库 * [encdec](https://github.com/mickep76/encdec) ![](https://img.shields.io/github/stars/mickep76/encdec?style=social) : 通用编码和解码器 * [genex](https://github.com/alixaxel/genex) ![](https://img.shields.io/github/stars/alixaxel/genex?style=social) : 计算并展开正则表达式为所有匹配的字符串 * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) : ` GitHub Flavored Markdown` 渲染器(使用 blackfriday),带有栅栏式代码块高亮,可点击标题锚链接 * [go-fixedwidth](https://github.com/ianlopshire/go-fixedwidth) ![](https://img.shields.io/github/stars/ianlopshire/go-fixedwidth?style=social) : 固定宽度的文本格式(带反射的编码器/解码器)。 * [go-humanize](https://github.com/dustin/go-humanize) ![](https://img.shields.io/github/stars/dustin/go-humanize?style=social) : 将时间、数字和内存大小格式化为人类可读的格式。 * [go-nmea](https://github.com/adrianmo/go-nmea) ![](https://img.shields.io/github/stars/adrianmo/go-nmea?style=social) : Go语言的NMEA解析库。 * [go-runewidth](https://github.com/mattn/go-runewidth) ![](https://img.shields.io/github/stars/mattn/go-runewidth?style=social) : 用于获取固定宽度的字符或字符串的函数。 * [go-slugify](https://github.com/mozillazg/go-slugify) ![](https://img.shields.io/github/stars/mozillazg/go-slugify?style=social) : 制作支持多语言的漂亮`slug`。 * [go-toml](https://github.com/pelletier/go-toml) ![](https://img.shields.io/github/stars/pelletier/go-toml?style=social) : `TOML`格式的`Go`库, * [go-vcard](https://github.com/emersion/go-vcard) ![](https://img.shields.io/github/stars/emersion/go-vcard?style=social) : 解析和格式化`vCard`。 * [go-zero-width](https://github.com/trubitsyn/go-zero-width) ![](https://img.shields.io/github/stars/trubitsyn/go-zero-width?style=social) : Go的零宽度字符检测和移除。 * [gofeed](https://github.com/mmcdole/gofeed) ![](https://img.shields.io/github/stars/mmcdole/gofeed?style=social) : 使用`Go`语言解析`RSS`和`Atom` * [gographviz](https://github.com/awalterschulze/gographviz) ![](https://img.shields.io/github/stars/awalterschulze/gographviz?style=social) : 用以解析`Graphviz DOT` 语言 * [gommon/bytes](https://github.com/labstack/gommon/tree/master/bytes) : 格式化二进制为字符串 * [gonameparts](https://github.com/polera/gonameparts) ![](https://img.shields.io/github/stars/polera/gonameparts?style=social) : 将人名解析为几个独立的部分 * [goq](https://github.com/andrewstuart/goq) ![](https://img.shields.io/github/stars/andrewstuart/goq?style=social) : 声明式`HTML` 编组,使用结构标签和`jQuery`语法 (使用`GoQuery`). * [GoQuery](https://github.com/PuerkitoBio/goquery) ![](https://img.shields.io/github/stars/PuerkitoBio/goquery?style=social) :` GoQuery` 为` Go`语言带来了一组类似`jQuery` 的语法和功能 * [goregen](https://github.com/zach-klippenstein/goregen) ![](https://img.shields.io/github/stars/zach-klippenstein/goregen?style=social) : 根据正则表达式生成随机字符串 * [goribot](https://github.com/zhshch2002/goribot) ![](https://img.shields.io/github/stars/zhshch2002/goribot?style=social) : 简单的golang爬虫框架,3行代码就可以创建爬虫。 * [gotext](https://github.com/leonelquinteros/gotext) ![](https://img.shields.io/github/stars/leonelquinteros/gotext?style=social) : Go语言版本的`GNU gettext`工具。 * [guesslanguage](https://github.com/endeveit/guesslanguage) ![](https://img.shields.io/github/stars/endeveit/guesslanguage?style=social) : 用于确定`unicode`文本的自然语言的函数。 * [html-to-markdown](https://github.com/JohannesKaufmann/html-to-markdown) ![](https://img.shields.io/github/stars/JohannesKaufmann/html-to-markdown?style=social) : 将`HTML`转换为`Markdown`。甚至适用于整个网站,并可通过规则进行扩展。 * [htmlquery](https://github.com/antchfx/htmlquery) ![](https://img.shields.io/github/stars/antchfx/htmlquery?style=social) :` HTML`的`XPath` 查询包,让您可以通过` XPath` 表达式从`HTML`文档中提取数据。 * [inject](https://github.com/facebookgo/inject) ![](https://img.shields.io/github/stars/facebookgo/inject?style=social) : 一个基于反射的注入器 * [ltsv](https://github.com/Wing924/ltsv) ![](https://img.shields.io/github/stars/Wing924/ltsv?style=social) : 适用于 Go 的高性能` LTSV(Labeled Tab Separated Value)`阅读器。[LTSV (Labeled Tab Separated Value)](http://ltsv.org/) : * [mxj](https://github.com/clbanning/mxj) ![](https://img.shields.io/github/stars/clbanning/mxj?style=social) : 通过点分路径和通配符来提取值 将` XML`编解码为` JSON` 或` map[string]interface{}`;目的是用于替代`Replaces x2j` 和`j2x` 包. * [pagser](https://github.com/foolin/pagser) ![](https://img.shields.io/github/stars/foolin/pagser?style=social) : `Pagser`是一个简单的、可扩展的、可配置的、基于`goquery`和`struct`标签的`golang` 爬虫解析和反序列化工具,能够将`html`页面映射到struct结构体中。 * [podcast](https://github.com/eduncan911/podcast) ![](https://img.shields.io/github/stars/eduncan911/podcast?style=social) : `Golang`中兼容`iTunes`和`RSS 2.0`的播客生成器。 * [sdp](https://github.com/gortc/sdp) ![](https://img.shields.io/github/stars/gortc/sdp?style=social) : `SDP Session Description Protocol`, [RFC 4566](https://tools.ietf.org/html/rfc4566)实现 * [sh](https://github.com/mvdan/sh) ![](https://img.shields.io/github/stars/mvdan/sh?style=social) : `Shell`解析器及格式化工具 * [slug](https://github.com/gosimple/slug) ![](https://img.shields.io/github/stars/gosimple/slug?style=social) :` URL`友好的` slug` 化工具,支持多种语言 * [Slugify](https://github.com/avelino/slugify) ![](https://img.shields.io/github/stars/avelino/slugify?style=social) :` Go`语言静态地址生成器,可以处理字符串 * [syndfeed](https://github.com/zhengchun/syndfeed) ![](https://img.shields.io/github/stars/zhengchun/syndfeed?style=social) : 适用于`Atom 1.0和RSS 2.0`的聚合`feed`。 * [toml](https://github.com/BurntSushi/toml) ![](https://img.shields.io/github/stars/BurntSushi/toml?style=social) : `TOML` 配置格式的编码解码器 * 文本工具 * [gofuckyourself](https://github.com/JoshuaDoes/gofuckyourself) ![](https://img.shields.io/github/stars/JoshuaDoes/gofuckyourself?style=social) : 敏感词过滤器 * [gotabulate](https://github.com/bndr/gotabulate) ![](https://img.shields.io/github/stars/bndr/gotabulate?style=social) : 使用` Go`轻松地打印你的表格数据。 * [kace](https://github.com/codemodus/kace) ![](https://img.shields.io/github/stars/codemodus/kace?style=social) : 涵盖常见初始化的普通大小写转换。 * [parseargs-go](https://github.com/nproc/parseargs-go) ![](https://img.shields.io/github/stars/nproc/parseargs-go?style=social) : 能理解引号和反斜杠的字符串参数解析器。 * [parth](https://github.com/codemodus/parth) ![](https://img.shields.io/github/stars/codemodus/parth?style=social) : `URL`路径分割解析库。 * [radix](https://github.com/yourbasic/radix) ![](https://img.shields.io/github/stars/yourbasic/radix?style=social) : 快速字符串排序算法。 * [regroup](https://github.com/oriser/regroup) ![](https://img.shields.io/github/stars/oriser/regroup?style=social) : 使用`struct`标记和自动解析将正则表达式命名的组匹配到` go` 结构中。 * [Tagify](https://github.com/zoomio/tagify) ![](https://img.shields.io/github/stars/zoomio/tagify?style=social) : 从给定的源中产生一组标签。 * [textwrap](https://github.com/isbm/textwrap) ![](https://img.shields.io/github/stars/isbm/textwrap?style=social) : `Python`中`textwrap`模块的实现。 * [TySug](https://github.com/Dynom/TySug) ![](https://img.shields.io/github/stars/Dynom/TySug?style=social) : 关于键盘布局的替代建议。 * [xj2go](https://github.com/stackerzzq/xj2go) ![](https://img.shields.io/github/stars/stackerzzq/xj2go?style=social) : 将`xm`l或`json`转换为`go`结构。 * [xurls](https://github.com/mvdan/xurls) ![](https://img.shields.io/github/stars/mvdan/xurls?style=social) : 从文本中提取`URLs`。 ---- ## 第三方API `第三方API 汇总` * [anaconda](https://github.com/ChimeraCoder/anaconda) ![](https://img.shields.io/github/stars/ChimeraCoder/anaconda?style=social) : `Twitter 1.1 API`的 go 语言客户端 * [aws-sdk-go](https://github.com/aws/aws-sdk-go) ![](https://img.shields.io/github/stars/aws/aws-sdk-go?style=social) : ` AWS` 提供的官方go语言` SDK` * [discordgo](https://github.com/bwmarrin/discordgo) ![](https://img.shields.io/github/stars/bwmarrin/discordgo?style=social) : 用于与`Discord` 聊天` API`进行交互的`Go`语言客户端。 * [github](https://github.com/google/go-github) ![](https://img.shields.io/github/stars/google/go-github?style=social) : 用于访问`GitHub REST API v3` 的`Go`库。 * [githubql](https://github.com/shurcooL/githubql) ![](https://img.shields.io/github/stars/shurcooL/githubql?style=social) : 用于访问`GitHub GraphQL API v4` 的`Go` 库。 * [go-twitter](https://github.com/dghubble/go-twitter) ![](https://img.shields.io/github/stars/dghubble/go-twitter?style=social) : 用于`Twitter v1.1 APIs` 的` Go` 客户端库。 * [google](https://github.com/google/google-api-go-client) ![](https://img.shields.io/github/stars/google/google-api-go-client?style=social) : 为`Go` 自动生成的`Google API`。 * [google-cloud](https://github.com/GoogleCloudPlatform/gcloud-golang) ![](https://img.shields.io/github/stars/GoogleCloudPlatform/gcloud-golang?style=social) :`Google Cloud APIs Go`客户端库。 * [Medium](https://github.com/Medium/medium-sdk-go) ![](https://img.shields.io/github/stars/Medium/medium-sdk-go?style=social) : 用于`Medium`的`OAuth2 API`的`Golang SDK`。 * [paypal](https://github.com/logpacker/PayPal-Go-SDK) ![](https://img.shields.io/github/stars/logpacker/PayPal-Go-SDK?style=social) : `PayPal`支付`API` * [stripe](https://github.com/stripe/stripe-go) ![](https://img.shields.io/github/stars/stripe/stripe-go?style=social) : 用于访问`Stripe API`的`Go`客户端。 ---- ## 工具库 `可以提升效率的通用代码库和工具` * [boilr](https://github.com/tmrts/boilr) ![](https://img.shields.io/github/stars/tmrts/boilr?style=social) : 用于从模板中快速创建项目的`CLI`工具。 * [ctop](https://github.com/bcicen/ctop) ![](https://img.shields.io/github/stars/bcicen/ctop?style=social) : 用于容器指标,类似于`Top`的接口(例如`htop`)。 * [Deepcopier](https://github.com/ulule/deepcopier) ![](https://img.shields.io/github/stars/ulule/deepcopier?style=social) : ` Go`的简单结构拷贝库。 * [filetype](https://github.com/h2non/filetype) ![](https://img.shields.io/github/stars/h2non/filetype?style=social) : 用于推断文件类型的小程序包,它可以检查魔法数字签名。 * [fzf](https://github.com/junegunn/fzf) ![](https://img.shields.io/github/stars/junegunn/fzf?style=social) : 命令行模糊查找工具 * [git-time-metric](https://github.com/git-time-metric/gtm) ![](https://img.shields.io/github/stars/git-time-metric/gtm?style=social) : 简单、无缝、轻量级的` Git`时间跟踪。 * [go-dry](https://github.com/ungerik/go-dry) ![](https://img.shields.io/github/stars/ungerik/go-dry?style=social) : `go`语言中`DRY (don't repeat yourself)`包 * [go-funk](https://github.com/thoas/go-funk) ![](https://img.shields.io/github/stars/thoas/go-funk?style=social) : `Go`语言工具库,提供了很多有用的工具`(map, find, contains, filter, chunk, reverse, ...)` * [go-rate](https://github.com/beefsack/go-rate) ![](https://img.shields.io/github/stars/beefsack/go-rate?style=social) : ` Go` 语言版本的限速器 * [godaemon](https://github.com/VividCortex/godaemon) ![](https://img.shields.io/github/stars/VividCortex/godaemon?style=social) : 用于编写守护进程的工具 * [godropbox](https://github.com/dropbox/godropbox) ![](https://img.shields.io/github/stars/dropbox/godropbox?style=social) : `Dropbox`开发的用于编写` Go`语言服务/应用的库 * [goreleaser](https://github.com/goreleaser/goreleaser) ![](https://img.shields.io/github/stars/goreleaser/goreleaser?style=social) : 尽可能快速的发布`Go`语言二进制文件 * [goreporter](https://github.com/wgliang/goreporter) ![](https://img.shields.io/github/stars/wgliang/goreporter?style=social) : 进行代码静态分析,单元测试,代码检视并生成代码质量报告的工具 * [gubrak](https://github.com/novalagung/gubrak) ![](https://img.shields.io/github/stars/novalagung/gubrak?style=social) : 带有语法糖的` Golang`工具库。它类似于`lodash`,但适用于` golang`。 * [handy](https://github.com/miguelpragier/handy) ![](https://img.shields.io/github/stars/miguelpragier/handy?style=social) : 许多实用工具和帮助程序,如字符串处理程序/格式化程序和验证器。 * [hostctl](https://github.com/guumaster/hostctl) ![](https://img.shields.io/github/stars/guumaster/hostctl?style=social) : 用简单的命令管理`/etc/hosts` 的` CLI`工具。 * [htcat](https://github.com/htcat/htcat) ![](https://img.shields.io/github/stars/htcat/htcat?style=social) : 并行及流水线的` HTTP GET` 工具 * [hub](https://github.com/github/hub) ![](https://img.shields.io/github/stars/github/hub?style=social) : 封装了`git`命令,提供了额外的功能用于在终端中和`Github` 进行交互 * [hystrix-go](https://github.com/afex/hystrix-go) ![](https://img.shields.io/github/stars/afex/hystrix-go?style=social) : 实现 Hystrix 风格的、程序员预定义的`fallback` 机制(熔断) * [immortal](https://github.com/immortal/immortal) ![](https://img.shields.io/github/stars/immortal/immortal?style=social) : *nix 跨平台 (与操作系统无关的)监控程序 * [jump](https://github.com/gsamokovarov/jump) ![](https://img.shields.io/github/stars/gsamokovarov/jump?style=social) : `Jump`通过学习你的习惯来帮助你更快地浏览文件。 * [koazee](https://github.com/wesovilabs/koazee) ![](https://img.shields.io/github/stars/wesovilabs/koazee?style=social) : 受`Lazy`评估和函数式编程启发而开发的库,它消除了使用数组的麻烦。 * [mc](https://github.com/minio/mc) ![](https://img.shields.io/github/stars/minio/mc?style=social) : `Minio Client`提供了与` Amazon S3`兼容的云存储和文件系统管理工具。 * [mergo](https://github.com/imdario/mergo) ![](https://img.shields.io/github/stars/imdario/mergo?style=social) : Golang中合并结构和地图的助手。对配置默认值很有用,避免了混乱的if语句。 * [mimetype](https://github.com/gabriel-vasile/mimetype) ![](https://img.shields.io/github/stars/gabriel-vasile/mimetype?style=social) : 基于魔数的`MIME`类型检测包。 * [minify](https://github.com/tdewolff/minify) ![](https://img.shields.io/github/stars/tdewolff/minify?style=social) : 快速压缩`HTML, CSS, JS, XML, JSON` 以及` SVG` 文件格式 * [mmake](https://github.com/tj/mmake) ![](https://img.shields.io/github/stars/tj/mmake?style=social) : 现代`Make`工具 * [mole](https://github.com/davrodpin/mole) ![](https://img.shields.io/github/stars/davrodpin/mole?style=social) : 用于轻松创建ssh隧道的`cli`应用程序。 * [panicparse](https://github.com/maruel/panicparse) ![](https://img.shields.io/github/stars/maruel/panicparse?style=social) : 将类似的`goroutines`分组,并对堆栈转储进行着色。 * [peco](https://github.com/peco/peco) ![](https://img.shields.io/github/stars/peco/peco?style=social) : 简单的交互式过滤工具。 * [realize](https://github.com/tockins/realize) ![](https://img.shields.io/github/stars/tockins/realize?style=social) : `Go` 语言构建系统,可以监控文件变化并重新加载。运行,构建,监控文件并支持自定义路径 * [retry](https://github.com/kamilsk/retry) ![](https://img.shields.io/github/stars/kamilsk/retry?style=social) : 最先进的功能机制,用于重复执行动作直到成功。 * [robustly](https://github.com/VividCortex/robustly) ![](https://img.shields.io/github/stars/VividCortex/robustly?style=social) : 弹性地运行函数,捕捉和重启 并自动处理`panic`。 * [spinner](https://github.com/briandowns/spinner) ![](https://img.shields.io/github/stars/briandowns/spinner?style=social) : ` Go` 语言软件包,提供多种选项,方便在终端中创建加载动画 * [sqlx](https://github.com/jmoiron/sqlx) ![](https://img.shields.io/github/stars/jmoiron/sqlx?style=social) : 为内建的`database/sql` 软件包提供扩展 * [Storm](https://github.com/asdine/storm) ![](https://img.shields.io/github/stars/asdine/storm?style=social) : 用于`BoltDB` 的简单又强大的工具 * [Task](https://github.com/go-task/task) ![](https://img.shields.io/github/stars/go-task/task?style=social) : 简单来讲就是`"Make"`的替代品 * [toolbox](https://github.com/viant/toolbox) ![](https://img.shields.io/github/stars/viant/toolbox?style=social) : `slice, map, multimap`, 结构体, 函数,数据转换工具、服务路由,宏求值和标记器工具 * [usql](https://github.com/knq/usql) ![](https://img.shields.io/github/stars/knq/usql?style=social) : `usql`是一个通用的命令行接口,用于操作`sql`数据库 * [util](https://github.com/shomali11/util) ![](https://img.shields.io/github/stars/shomali11/util?style=social) : 收集了很多有用的函数 * [wuzz](https://github.com/asciimoo/wuzz) ![](https://img.shields.io/github/stars/asciimoo/wuzz?style=social) : 交互式命令行程序,用于进行`HTTP` 检查 ---- ## UUID `UUID 生成和操作库` * [ulid](https://github.com/oklog/ulid) ![](https://img.shields.io/github/stars/oklog/ulid?style=social) : `ULID (Universally Unique Lexicographically Sortable Identifier)` 的` Go`实现。 * [uuid](https://github.com/gofrs/uuid) ![](https://img.shields.io/github/stars/gofrs/uuid?style=social) : 通用唯一标识符`(UUID)`的实现。支持`UUID`的创建和解析。 * [uuid](https://github.com/google/uuid) ![](https://img.shields.io/github/stars/google/uuid?style=social) : 基于`RFC 4122`和`DCE 1.1`的`UUIDs Go`包。 * [wuid](https://github.com/edwingeng/wuid) ![](https://img.shields.io/github/stars/edwingeng/wuid?style=social) : 极快的唯一数字生成器,比`UUID`快10-135倍。 ----- ## 校验库 `用于校验的库` * [checkdigit](https://github.com/osamingo/checkdigit) ![](https://img.shields.io/github/stars/osamingo/checkdigit?style=social) : 提供数字算法(`Luhn, Verhoeff, Damm`)和数字计算(`ISBN, EAN, JAN, UPC`等)功能的库。 * [govalidator](https://github.com/asaskevich/govalidator) ![](https://img.shields.io/github/stars/asaskevich/govalidator?style=social) : 数据验证及清晰工具,用于字符串,数字, 数组切片及结构体 * [govalidator](https://github.com/thedevsaddam/govalidator) ![](https://img.shields.io/github/stars/thedevsaddam/govalidator?style=social) : 用简单的规则验证`Golang`请求数据. 高度受`Laravel`的请求验证的启发. * [ozzo-validation](https://github.com/go-ozzo/ozzo-validation) ![](https://img.shields.io/github/stars/go-ozzo/ozzo-validation?style=social) : 支持多种数据类型的验证 (结构体,字符串,键值对,数组切片等等),具有可配置、可扩展的验证规则,且使用常用代码结构定义,而非结构体标签 * [validator](https://github.com/go-playground/validator) ![](https://img.shields.io/github/stars/go-playground/validator?style=social) : `Go`结构体及域验证,包括:跨域、跨结构体,`Map`, 切片和数组 ---- ### 版本控制 `版本控制相关库` * [git2go](https://github.com/libgit2/git2go) ![](https://img.shields.io/github/stars/libgit2/git2go?style=social) : `libgit2`的` Go`语言接口 * [go-git](https://github.com/src-d/go-git) ![](https://img.shields.io/github/stars/src-d/go-git?style=social) : 纯`Go`中实现高度可扩展的`Git`。 * [hercules](https://github.com/src-d/hercules) ![](https://img.shields.io/github/stars/src-d/hercules?style=social) : 查看`git repo`历史的代码库 ---- ## 视频 `视频和流媒体相关库` * [gmf](https://github.com/3d0c/gmf) ![](https://img.shields.io/github/stars/3d0c/gmf?style=social) : `FFmpeg av*`库的 Go 语言接口. * [go-astisub](https://github.com/asticode/go-astisub) ![](https://img.shields.io/github/stars/asticode/go-astisub?style=social) : 使用 Go 语言操作字幕`(.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).` * [go-astits](https://github.com/asticode/go-astits) ![](https://img.shields.io/github/stars/asticode/go-astits?style=social) : 在 GO 中解析和解调` MPEG` 传输流(.ts)。 * [goav](https://github.com/giorgisio/goav) ![](https://img.shields.io/github/stars/giorgisio/goav?style=social) : 易用的` FFmpeg`Go 语言接口 ---- ## web框架 `web 框架` * [Aero](https://github.com/aerogo/aero) ![](https://img.shields.io/github/stars/aerogo/aero?style=social) : `Go`的高性能Web框架,在`Lighthouse` 评比中拿到最高分 * [Air](https://github.com/aofei/air) ![](https://img.shields.io/github/stars/aofei/air?style=social) : 理想的`RESTful web` 框架 * [Beego](https://github.com/beego/beego) ![](https://img.shields.io/github/stars/beego/beego?style=social) : beeGo 是一个开源的、高性能的 Go 语言`web`框架 * [Buffalo](http://gobuffalo.io) : 为`Go` 语言带来堪比` Rails` 的高生产效率 * [Echo](https://github.com/labstack/echo) ![](https://img.shields.io/github/stars/labstack/echo?style=social) : 高性能、极简的` Go`语言`web` 框架 * [Fiber](https://github.com/gofiber/fiber) ![](https://img.shields.io/github/stars/gofiber/fiber?style=social) : 受` Express.js`启发的` Web` 框架,构建在`Fasthttp`上。 * [Gin](https://github.com/gin-gonic/gin) ![](https://img.shields.io/github/stars/gin-gonic/gin?style=social) : ` Gin` 是一个` Go` 语言编写的 web 框架,提供了一组类似`martini`的`API`,且具有更好的性能(40倍的性能提升)。如果你需要高性能和高生产率,这个框架很适合你 * [Gizmo](https://github.com/NYTimes/gizmo) ![](https://img.shields.io/github/stars/NYTimes/gizmo?style=social) : 纽约时报正在使用对微服务工具集 * [go-json-rest](https://github.com/ant0ine/go-json-rest) ![](https://img.shields.io/github/stars/ant0ine/go-json-rest?style=social) : 快速、简单的创建`RESTful JSON API.` * [Macaron](https://github.com/go-macaron/macaron) ![](https://img.shields.io/github/stars/go-macaron/macaron?style=social) : `Macaron`是一个高效的模块化设计的`web`框架 * [neo](https://github.com/ivpusic/neo) ![](https://img.shields.io/github/stars/ivpusic/neo?style=social) : 极小且快速的 Go 语言` web` 框架,具有及其简单的`API` * [Revel](https://github.com/revel/revel) ![](https://img.shields.io/github/stars/revel/revel?style=social) :` go`语言高生产率框架 * [tango](https://github.com/lunny/tango) ![](https://img.shields.io/github/stars/lunny/tango?style=social) : 微型的、支持插件的`web`框架 * [tigertonic](https://github.com/rcrowley/go-tigertonic) ![](https://img.shields.io/github/stars/rcrowley/go-tigertonic?style=social) : 受到 Dropwizard 启发,用于构建`JSON web`服务的` Go`语言框架, * [utron](https://github.com/gernest/utron) ![](https://img.shields.io/github/stars/gernest/utron?style=social) : 轻量级的`go`语言` MVC` 框架 ---- ## 中间件 ### 中间件 * [CORS](https://github.com/rs/cors) ![](https://img.shields.io/github/stars/rs/cors?style=social) : 非常方便地向你的`api`中添加` CORS`功能 * [Limiter](https://github.com/ulule/limiter) ![](https://img.shields.io/github/stars/ulule/limiter?style=social) : 超级简单的限速中间件 * [Tollbooth](https://github.com/didip/tollbooth) ![](https://img.shields.io/github/stars/didip/tollbooth?style=social) : `HTTP` 请求限速中间件 ---- ### 创建http中间件的代码库 * [alice](https://github.com/justinas/alice) ![](https://img.shields.io/github/stars/justinas/alice?style=social) : 创建链式中间件的库 * [negroni](https://github.com/urfave/negroni) ![](https://img.shields.io/github/stars/urfave/negroni?style=social) : 符合语言习惯的`HTTP`中间件库 * [render](https://github.com/unrolled/render) ![](https://img.shields.io/github/stars/unrolled/render?style=social) : 用于轻松渲染`JSON, XML`, 及`HTML` 模板响应的库 * [stats](https://github.com/thoas/stats) ![](https://img.shields.io/github/stars/thoas/stats?style=social) : `Go`语言中间件,用于存储`web`应用的多种信息 ---- ## 路由 * [Bone](https://github.com/go-zoo/bone) ![](https://img.shields.io/github/stars/go-zoo/bone?style=social) : 轻量、快速的`HTTP` 多路复用器 * [chi](https://github.com/go-chi/chi) ![](https://img.shields.io/github/stars/go-chi/chi?style=social) : 基于`net/context`的小巧、快速、具有丰富表达力的`HTTP`路由. * [fasthttprouter](https://github.com/buaazp/fasthttprouter) ![](https://img.shields.io/github/stars/buaazp/fasthttprouter?style=social) : 从`httprouter`分叉出来的高性能路由器,也是第一个适合`fasthttp`的路由器。 * [gocraft/web](https://github.com/gocraft/web) ![](https://img.shields.io/github/stars/gocraft/web?style=social) : `Mux`及中间件包 * [Goji](https://github.com/goji/goji) ![](https://img.shields.io/github/stars/goji/goji?style=social) :` Goji`是一个极简的、灵活的`HTTP` 请求数据分选器,支持`net/context.` * [httprouter](https://github.com/julienschmidt/httprouter) ![](https://img.shields.io/github/stars/julienschmidt/httprouter?style=social) : 高性能路由,使用这个库和标准http处理工具可以构建一个非常高性能大web框架 * [mux](https://github.com/gorilla/mux) ![](https://img.shields.io/github/stars/gorilla/mux?style=social) : 强大的`URL`路由和分发库 --- ## WebAssembly * [dom](https://github.com/dennwc/dom) ![](https://img.shields.io/github/stars/dennwc/dom?style=social) : `DOM库`。 * [tinygo](https://github.com/tinygo-org/tinygo) ![](https://img.shields.io/github/stars/tinygo-org/tinygo?style=social) : 基于`LLVM`,适用于微型场景的`Go`编译器。包括微控制器、`WebAssembly`和命令行工具。 --- ## Windows 暂无 ## XML ---- * [xpath](https://github.com/antchfx/xpath) ![](https://img.shields.io/github/stars/antchfx/xpath?style=social) : `XPath` 库 * [zek](https://github.com/miku/zek) ![](https://img.shields.io/github/stars/miku/zek?style=social) : 从` XML` 生成一个` Go`结构体。 ---- ## 相关工具 `go相关工具和插件` ### 代码分析 * [apicompat](https://github.com/bradleyfalzon/apicompat) ![](https://img.shields.io/github/stars/bradleyfalzon/apicompat?style=social) : 检测`go`语言项目最近的变化,用于监测不能向后兼容的代码修改 * [dupl](https://github.com/mibk/dupl) ![](https://img.shields.io/github/stars/mibk/dupl?style=social) : 用于检测重复代码的工具 * [errcheck](https://github.com/kisielk/errcheck) ![](https://img.shields.io/github/stars/kisielk/errcheck?style=social) : `Errcheck`是一个用于检测go语言程序中存在未处理错误的程序 * [gcvis](https://github.com/davecheney/gcvis) ![](https://img.shields.io/github/stars/davecheney/gcvis?style=social) : 实时地将`Go` 语言垃圾回收进行可视化 * [go-mod-outdated](https://github.com/psampaz/go-mod-outdated) ![](https://img.shields.io/github/stars/psampaz/go-mod-outdated?style=social) : 一种查找` Go`项目中过时的依赖关系的简单方法。 * [goast-viewer](https://github.com/yuroyoro/goast-viewer) ![](https://img.shields.io/github/stars/yuroyoro/goast-viewer?style=social) : 基于`Web`的` Golang AST` 可视化工具. * [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) : 用于自动修复,添加,删除你的 Go 语言项目的 import * [GoLint](https://github.com/golang/lint) ![](https://img.shields.io/github/stars/golang/lint?style=social) : 针对 Go 语言源码的` lint` 工具 * [goreturns](https://sourcegraph.com/github.com/sqs/goreturns) : 添加零值`return` 语句以符合函数返回值类型 * [tickgit](https://github.com/augmentable-dev/tickgit) ![](https://img.shields.io/github/stars/augmentable-dev/tickgit?style=social) : 用于显示代码注释`TODO`(任何语言)的CLI和go包,并应用`git blam`来识别作者 * [unconvert](https://github.com/mdempsky/unconvert) ![](https://img.shields.io/github/stars/mdempsky/unconvert?style=social) : 从go语言代码中移除不必要的类型转换 ---- ## 编辑器插件 * [go-mode](https://github.com/dominikh/go-mode.el) ![](https://img.shields.io/github/stars/dominikh/go-mode.el?style=social) : ` GNU/Emacs`的`Go`语言模式 * [go-plus](https://github.com/joefitzgerald/go-plus) ![](https://img.shields.io/github/stars/joefitzgerald/go-plus?style=social) : 供`Atom` 使用的自动补全、格式化、语法检查、`lint`及`Vetting` 的软件包 * [gocode](https://github.com/nsf/gocode) ![](https://img.shields.io/github/stars/nsf/gocode?style=social) : `go`语言自动补全 * [goprofiling](https://marketplace.visualstudio.com/items?itemName=MaxMedia.go-prof) : 这个扩展为` VS Code`增加了对` Go`语言的基准分析支持。 * [GoSublime](https://github.com/DisposaBoy/GoSublime) ![](https://img.shields.io/github/stars/DisposaBoy/GoSublime?style=social) : SublimeText 2 使用的 Go 语言插件,支持代码补全以及一些类似` IDE` 的特性 * [vim-go](https://github.com/fatih/vim-go) ![](https://img.shields.io/github/stars/fatih/vim-go?style=social) : `Vim`使用的`Go` 语言开发插件 * [vscode-go](https://github.com/golang/vscode-go) ![](https://img.shields.io/github/stars/golang/vscode-go?style=social) : `Visual Studio Code (VS Code)` : 使用的一个扩展,为` Go` 语言提供了支持 --- ## Go 代码生成工具 * [genny](https://github.com/cheekybits/genny) ![](https://img.shields.io/github/stars/cheekybits/genny?style=social) : 为` Go`提供优雅的泛型。 * [gotests](https://github.com/cweill/gotests) ![](https://img.shields.io/github/stars/cweill/gotests?style=social) : 根据源代码生成`Go`测试代码。 ---- ## Go 工具 * [depth](https://github.com/KyleBanks/depth) ![](https://img.shields.io/github/stars/KyleBanks/depth?style=social) : 通过分析导入的库,将某个包的依赖关系用树状结构进行显示 * [go-callvis](https://github.com/TrueFurby/go-callvis) ![](https://img.shields.io/github/stars/TrueFurby/go-callvis?style=social) : 使用`dot`语言将你的 Go 语言程序函数调用关系可视化 * [go-swagger](https://github.com/go-swagger/go-swagger) ![](https://img.shields.io/github/stars/go-swagger/go-swagger?style=social) : 为 Go 语言实现的`Swagger 2.0`. * [OctoLinker](https://github.com/OctoLinker/browser-extension) ![](https://img.shields.io/github/stars/OctoLinker/browser-extension?style=social) : - 使用`github` 的浏览器插件` OctoLinker`高效浏览`Go` 语言文件 --- ## 软件包 `Go语言开发的软件工具` ### devops 工具 * [Blast](https://github.com/dave/blast) ![](https://img.shields.io/github/stars/dave/blast?style=social) : 一个简单的API负载测试和批量作业管理的工具。 * [bombardier](https://github.com/codesenberg/bombardier) ![](https://img.shields.io/github/stars/codesenberg/bombardier?style=social) : 快速的、跨平台的`HTTP`基准工具. * [bosun](https://github.com/bosun-monitor/bosun) ![](https://img.shields.io/github/stars/bosun-monitor/bosun?style=social) : 基于时间序列的告警框架 * [cassowary](https://github.com/rogerwelin/cassowary) ![](https://img.shields.io/github/stars/rogerwelin/cassowary?style=social) : 用Go编写的现代跨平台`HTTP`负载测试工具。 * [fac](https://github.com/mkchoi212/fac) ![](https://img.shields.io/github/stars/mkchoi212/fac?style=social) : 用于修复git合并冲突的命令行用户界面。 * [gaia](https://github.com/gaia-pipeline/gaia) ![](https://img.shields.io/github/stars/gaia-pipeline/gaia?style=social) : 利用任何编程语言都可以构建强大的管道的库。 * [Gitea](https://github.com/go-gitea/gitea) ![](https://img.shields.io/github/stars/go-gitea/gitea?style=social) : 社区驱动的`Gogs`的`fork`库 * [go-selfupdate](https://github.com/sanbornm/go-selfupdate) ![](https://img.shields.io/github/stars/sanbornm/go-selfupdate?style=social) : 让你的` Go` 语言程序可以自我更新 * [Gogs](https://gogs.io/) : 自我托管的`Git`服务 * [gox](https://github.com/mitchellh/gox) ![](https://img.shields.io/github/stars/mitchellh/gox?style=social) : 非常简单的`Go`语言交叉编译工具 * [goxc](https://github.com/laher/goxc) ![](https://img.shields.io/github/stars/laher/goxc?style=social) : ` Go` 语言构建工具,专注于交叉编译和打包 * [GVM](https://github.com/moovweb/gvm) ![](https://img.shields.io/github/stars/moovweb/gvm?style=social) : ` GVM`提供了用于管理`Go`语言版本的接口 * [Hey](https://github.com/rakyll/hey) ![](https://img.shields.io/github/stars/rakyll/hey?style=social) :` Hey`是一个微型程序,用于向`web` 应用发送负载 * [kala](https://github.com/ajvb/kala) ![](https://img.shields.io/github/stars/ajvb/kala?style=social) : 极简、现代的、高效的任务调度 * [kubernetes](https://github.com/kubernetes/kubernetes) ![](https://img.shields.io/github/stars/kubernetes/kubernetes?style=social) : 来自`Google`的容器集群管理器 * [Moby](https://github.com/moby/moby) ![](https://img.shields.io/github/stars/moby/moby?style=social) : 为容器生态系统创建的一个合作项目,用于构建基于容器的系统 * [Packer](https://github.com/mitchellh/packer) ![](https://img.shields.io/github/stars/mitchellh/packer?style=social) :` Packer`通过单一的配置文件,为不同的平台创建独立镜像 * [Pomerium](https://github.com/pomerium/pomerium) ![](https://img.shields.io/github/stars/pomerium/pomerium?style=social) : `Pomerium`是一个身份感知的访问代理。 * [s3gof3r](https://github.com/rlmcpherson/s3gof3r) ![](https://img.shields.io/github/stars/rlmcpherson/s3gof3r?style=social) : 为了从`Amazon S3`中高速存取大型对象而特别优化的库 * [script](https://github.com/bitfield/script) ![](https://img.shields.io/github/stars/bitfield/script?style=social) : 在Go中轻松编写类似`shell`的脚本,用于`DevOps`和系统管理任务。 * [skm](https://github.com/TimothyYe/skm) ![](https://img.shields.io/github/stars/TimothyYe/skm?style=social) : SKM是一个简单而强大的`SSH`密钥管理器,它可以帮助您轻松管理您的多个`SSH`密钥。 * [StatusOK](https://github.com/sanathp/statusok) ![](https://img.shields.io/github/stars/sanathp/statusok?style=social) : 监控你的网站和` REST APIs`。如果你的服务器挂了或是响应时间超过预期,则会通过`Slack`,`E-mail`来通知你 * [traefik](https://github.com/containous/traefik) ![](https://img.shields.io/github/stars/containous/traefik?style=social) : 能对接多个后端的反向代理和负载均衡器。 * [uTask](https://github.com/ovh/utask) ![](https://img.shields.io/github/stars/ovh/utask?style=social) : 自动化引擎,可对`yaml`中声明的业务流程进行建模和执行。 * [Vegeta](https://github.com/tsenart/vegeta) ![](https://img.shields.io/github/stars/tsenart/vegeta?style=social) : `HTTP 加`载测试工具和代码库 * [webhook](https://github.com/adnanh/webhook) ![](https://img.shields.io/github/stars/adnanh/webhook?style=social) : 允许用户创建`HTTP`钩子,并在服务器上执行命令 ---- ### 其他软件库和软件包 * [borg](https://github.com/crufter/borg) ![](https://img.shields.io/github/stars/crufter/borg?style=social) : 基于终端的搜索引擎,用于搜索` bash`代码片段 * [Cherry](https://github.com/rafael-santiago/cherry) ![](https://img.shields.io/github/stars/rafael-santiago/cherry?style=social) : `Go`语言实现的一个微型网络聊天服务器 * [Circuit](https://github.com/gocircuit/circuit) ![](https://img.shields.io/github/stars/gocircuit/circuit?style=social) : `Circuit`是一个可编程的`PaaS`以及`IaaS`,用于管理、发现以及编排各种云端应用的服务及主机 * [Comcast](https://github.com/tylertreat/Comcast) ![](https://img.shields.io/github/stars/tylertreat/Comcast?style=social) : 模拟网络波动情况下的网络数据连接 * [confd](https://github.com/kelseyhightower/confd) ![](https://img.shields.io/github/stars/kelseyhightower/confd?style=social) : 使用`etcd`或` consul`来管理本地应用的配置文件 * [croc](https://github.com/schollz/croc) ![](https://img.shields.io/github/stars/schollz/croc?style=social) : 轻松安全地将文件或文件夹从一台计算机发送到另一台计算机。 * [Docker](http://www.docker.com/) : 一个为开发者和系统管理员提供的针对分布式应用的开源平台 * [Documize](https://github.com/documize/community) ![](https://img.shields.io/github/stars/documize/community?style=social) : 维基软件,可以使用`SaaS`工具提供的数据 * [Duplicacy](https://github.com/gilbertchen/duplicacy) ![](https://img.shields.io/github/stars/gilbertchen/duplicacy?style=social) : 跨平台网络和云备份工具 * [gfile](https://github.com/Antonito/gfile) ![](https://img.shields.io/github/stars/Antonito/gfile?style=social) : 无需任何第三方工具通过`WebRTC`在两台电脑之间安全传输文件。 * [Go Package Store](https://github.com/shurcooL/Go-Package-Store) ![](https://img.shields.io/github/stars/shurcooL/Go-Package-Store?style=social) : 一个可以显示你的`GoPATH` 路径下`Go`软件包的应用 * [GoBoy](https://github.com/Humpheh/goboy) ![](https://img.shields.io/github/stars/Humpheh/goboy?style=social) : 用`Go`编写的任天堂游戏机颜色模拟器。 * [Gor](https://github.com/buger/gor) ![](https://img.shields.io/github/stars/buger/gor?style=social) : Http 流量复制工具,用于将生产环境的流量在开发环境进行重放 * [Guora](https://github.com/meloalright/guora) ![](https://img.shields.io/github/stars/meloalright/guora?style=social) : 一个用`Go`编写的类似于`Quora`的问答网络应用。 * [hugo](http://gohugo.io/) : - 快速、现代的静态`web`引擎 * [ide](https://github.com/thestrukture/ide) ![](https://img.shields.io/github/stars/thestrukture/ide?style=social) : 为`Go`语言设计可以在浏览器的`IDE`。 * [Juju](https://jujucharms.com/) : 服务部署及编排工具,,支持`EC2`,`Azure`,`Openstack`,`MAAS` 等等 * [lgo](https://github.com/yunabe/lgo) ![](https://img.shields.io/github/stars/yunabe/lgo?style=social) : 使用`Jupyter`进行交互式编程。它支持代码补全、代码检查,100%兼容`Go`。 * [limetext](https://limetext.github.io) ![](https://img.shields.io/github/stars/limetext/lime?style=social): `Lime Text` 是一个强大又优雅的编辑器,主要使用`Go` 语言开发,意在成为`Sublime Text`的继承者。 * [LiteIDE](https://github.com/visualfc/liteide) ![](https://img.shields.io/github/stars/visualfc/liteide?style=social) : `LiteIDE` 是一个简单、开源、跨平台的` Go`语言` IDE` * [mockingjay](https://github.com/quii/mockingjay-server) ![](https://img.shields.io/github/stars/quii/mockingjay-server?style=social) : 伪`HTTP`服务器,通过单一配置文件构造访问请求。同时你还可以让服务器提升负载,以进行更加符合现实情况的性能测试 * [myLG](https://github.com/mehrdadrad/mylg) ![](https://img.shields.io/github/stars/mehrdadrad/mylg?style=social) :`Go`语言编写的命令行网络诊断工具 * [nes](https://github.com/fogleman/nes) ![](https://img.shields.io/github/stars/fogleman/nes?style=social) : `Go` 语言编写的任天堂`(NES)`模拟器 * [peg](https://github.com/pointlander/peg) ![](https://img.shields.io/github/stars/pointlander/peg?style=social) : `Peg(Parsing Expression Grammar)`是一个`Packrat parser generator`的实现 * [restic](https://github.com/restic/restic) ![](https://img.shields.io/github/stars/restic/restic?style=social) : 解耦备份程序 * [scc](https://github.com/boyter/scc) ![](https://img.shields.io/github/stars/boyter/scc?style=social) : 一个非常快速准确的代码计数器,具有复杂度计算和`COCOMO`估计功能。 * [Seaweed File System](https://github.com/chrislusf/seaweedfs) ![](https://img.shields.io/github/stars/chrislusf/seaweedfs?style=social) : 快速、简单、可扩展的分布式文件系统,具有`O(1)`的磁盘查找效率 * [shell2http](https://github.com/msoap/shell2http) ![](https://img.shields.io/github/stars/msoap/shell2http?style=social) : 通过HTTP服务器执行`shell`命令行(用于原型验证或远程控制)。 * [snap](https://github.com/intelsdi-x/snap) ![](https://img.shields.io/github/stars/intelsdi-x/snap?style=social) : 强大的遥测框架 * [Stack Up](https://github.com/pressly/sup) ![](https://img.shields.io/github/stars/pressly/sup?style=social) :` Stack Up`是一个超级简单的开发工具,就好比是服务器网络的`make`工具 * [syncthing](https://syncthing.net/) ![](https://img.shields.io/github/stars/syncthing/syncthing?style=social) : 开源、去中心化的文件同步工具和协议 * [toxiproxy](https://github.com/shopify/toxiproxy) ![](https://img.shields.io/github/stars/shopify/toxiproxy?style=social) : 用于自动化测试中模拟网络和系统状态的代理服务。 * [tsuru](https://tsuru.io/) ![](https://img.shields.io/github/stars/tsuru/tsuru?style=social) : 可扩展的、开源的`SAAS` 软件