3 Star 21 Fork 9

精进之道系列/Go语言工程精选

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPSL-2.0

Go语言开源工程精选

介绍

精选Go语言的开源项目,并分析和解读其设计实现的关键之处。

挑选原则:

  1. 项目较为成熟,用户众多,有比较稳定的代码基础。
  2. 项目解决开发相关的某个领域的问题,例如文件处理、数据库处理等。
  3. 设计与代码编写有典型性或独有特色。

挑选方式:

依照awesome-go-cn的组织方式,从它的项目列表中分门别类挑选其中更值得进行钻研的工程。我们保留awesome-go-cn的分类结构,并添加到对应分类的链接,以便读者在了解某个类别的精选工程之后,可以跳到awesome-go-cn上寻找其他类似工程。

名称 地址 板块 简介
Afero https://github.com/spf13/afero 文件处理 文件系统框架,封装底层文件处理的实现,提供统一的文件处理接口
Go-Git https://github.com/go-git/go-git 文件处理 纯Go语言实现的Git协议
SQLX http://jmoiron.github.io/sqlx/ 数据库 标准库sql模块的一层封装
Notify https://github.com/rjeczalik/notify 文件处理 文件系统消息库,可以考虑了解其设计原理。
pq https://github.com/lib/pq 数据库 标准PostGRESQL驱动,可以考虑综合对比pq、pgx和go-pg的优劣。
pgx https://github.com/jackc/pgx 数据库 高性能PostgreSQL驱动
go-pg https://github.com/go-pg/pg 数据库 包含高阶orm功能的PostgreSQL驱动
mysql https://github.com/go-sql-driver/mysql 数据库 MySQL驱动
go-redis https://github.com/go-redis/redis 数据库 Redis驱动
redigo https://github.com/gomodule/redigo 数据库 Redis驱动,可以和go-redis进行对比分析
riot https://github.com/go-ego/riot 搜索引擎 Go语言分布式搜索引擎,中文支持好
now https://github.com/jinzhu/now 时间 日期时间工具库,设计很简洁
viper https://github.com/spf13/viper 配置管理 最火的配置工具
testify https://github.com/stretchr/testify 测试 最火的测试库
zap https://github.com/uber-go/zap 日志 高速日志库
cobra https://github.com/spf13/cobra 命令行

资源列表

音频和音乐库

暂无


认证和OAuth授权

  • jwt-go : -JSON Web Tokens(JWT)的Golang实现。

机器人相关

构建和使用机器人的库

  • go-joe : 受 Hubot 启发,用 Go 编写的通用型机器人库。

命令行工具

标准 CLI

用于创建一个标准命令行应用程序的库

  • cobra : 一个现代化的命令行。
  • kingpin : 支持子命令的命令行和标志位解析器。
  • liner : 命令行文本解析器
  • mitchellh/cli : 用于实现命令行交互的 Go 语言库
  • urfave/cli : 简单、快速、有趣的、用于构建 Go 语言命令行程序的软件包。

高级控制台UI

用于构建控制台应用程序和控制台用户界面的库.

  • aurora : ANSI 终端颜色,支持 fmt.Printf/Sprintf
  • go-prompt : python-prompt-toolkit 的启发,用于构建强大的交互式提示符的go语言库
  • gocui : 极简的控制台用户界面创建库.
  • progressbar : 适用于各种操作系统的,线程安全进度条管理库。
  • termbox-go : Termbox是一个用于创建跨平台文本界面的库。
  • termdash : 基于 termbox-go Go 终端仪表盘,灵感来自 termui
  • termui : 基于 termbox-goGo 终端仪表盘,灵感来源于blessed-contrib
  • uilive : 用于实时更新终端输出的库
  • uiprogress :用于渲染进度条的库
  • uitable : 用于改善命令行中,表格数据可读性的库

配置管理

配置解析库

  • env : 解析环境变量为 Go 语言结构体
  • godotenv : 把 Rubydotenv 库移植到 Go (从 .env 中加载环境变量)。
  • ini : 用于读写INI 文件的库
  • kelseyhightower/envconfig : 用于管理环境变量配置数据的 Go 库。
  • viper :Go语言配置工具

持续集成

持续集成的辅助工具

暂无


CSS预处理

预处理css文件的库

暂无


数据结构

go语言实现的数据结构与算法

  • algorithms : 算法和数据结构学习资料
  • bitset : 实现了 bitset Go 语言包.
  • boomfilters : 概率统计数据结构,用于处理大量连续的数据。
  • cuckoofilter : Cuckoo过滤器:一个用go语言实现的计数布隆过滤器的替代品
  • go-datastructures :一组有用的、高性能的、线程安全的数据结构
  • go-edlib : 与 Unicode 兼容的 Go 字符串比较和编辑距离算法库(Levenshtein、LCS、Hamming、Damerau levenshtein、Jaro-Winkler 等)。
  • gocache : 完整的Go缓存库,支持多个存储(内存、memcache、redis......)。
  • gods : Go语言数据结构、容器、集合、列表、栈、键值对、 BidiMaps、树、HashSet
  • golang-set : 线程安全和非线程安全的高性能集合
  • goskiplist : Go语言实现的跳跃表
  • gota : 为go语言实现了数据帧,序列以及数据噪音的方法
  • roaring : 实现了压缩bitsets算法的Go语言库
  • trie : Go语言实现的Trie
  • ttlcache : 基于过期时间的内存字符串缓存接口。
  • willf/bloom : 实现了布隆过滤器的库

数据库

go语言实现的数据库

  • badger : Go中的快速键值存储库。
  • bbolt : Go的嵌入式键值数据库。
  • BigCache : 为GB量级数据设计的高效键/值缓存
  • buntdb : 快速,可嵌入的,内存键值数据库,可定义索引及 spatial
  • cache2go : 基于内存存储的键值缓存,支持自动基于超时的自动失效
  • cockroach : 可扩展的、一致的事务型数据库
  • CovenantSQL : CovenantSQL是一个区块链上的SQL数据库。
  • dgraph : 可扩展的、分布式的、低延时、高吞吐的图数据库
  • GCache : 支持缓存过期、 LFU、 LRU ARC 的缓存库
  • go-cache : 基于内存存储的缓存,适用于分布式部署的应用
  • goleveldb : GoLevelDB键/值数据库的实现
  • groupcache : Groupcache是一个缓存及缓存填充库,在很多情况下用于替代 memcached.
  • immudb : immudb 是一个轻量级、高速的不可变数据库,适用于用Go编写的系统和应用程序。
  • influxdb : 用于度量、事件和实时分析的可扩展数据存储。
  • ledisdb : Ledisdb 是一个高性能 NoSQL 数据库,类似 Redis
  • nutsdb : Nutsdb是一个用纯Go编写的简单、快速、可嵌入、持久化的键/值存储。它支持完全可序列化的事务和许多数据结构,如列表、集合、排序集合。
  • prometheus : 监控系统及时间序列数据库
  • rqlite : 基于 SQLite 的轻量级的、分布式的关系型数据库
  • tidb : TiDB 是一个分布式的 SQL 数据库。受到了 Google F1的启发
  • tiedot : 基于Go语言的 NoSQL 数据库
  • VictoriaMetrics : 快速、资源高效、可扩展的开源时间序列数据库。可作为Prometheus的长期远程存储。支持PromQL

数据库迁移工具

  • goose : 数据库迁移工具。你可以通过编写增量 SQL Go 语言脚本来管理你的数据库
  • migrate : 数据库迁移。命令行及 Go 语言库
  • soda : 数据库迁移、创建、 ORM等等,用于MySQL, PostgreSQL,以及 SQLite.
  • sql-migrate : 数据库迁移工具,允许利用 Go-bindata 将数据库迁移嵌入应用程序

数据库工具

  • go-mysql : 用于处理 MySQL 协议及复制的Go语言工具集
  • go-mysql-elasticsearch : 将你的 MySQL 数据自动同步到 Elasticsearch
  • kingshard : kingshard是一个Go语言编写的高性能 MySQL 数据库代理
  • orchestrator : MySQL复制拓扑管理器及可视化工具
  • pgweb : 基于 WebPostgreSQL 数据库浏览工具
  • pREST : 为 PostgreSQL 数据库提供 RESTful API
  • vitess : vitess 提供了能够使大型 web 服务 MySQL 数据库的扩展变得更加容易的服务器及工具

SQL 查询语句构建库

  • dbq : Go的数据库操作库。

  • gendry : 非侵入式SQL构建器和强大的数据绑定器。

  • goqu : 地道的 SQL 语句创建器和查询库

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

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

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


数据库驱动

连接和操作数据库工具

  • 关系型数据库
    • go-mssqldb : 适用于Go的Microsoft MSSQL驱动。
    • go-oci8 : Oracle驱动
    • go-sql-driver/mysql : Go 语言 MySQL驱动
    • go-sqlite3 : Go 语言的 SQLite3 驱动
    • pgx : PostgreSQL 驱动,支持比 database/sql 更多的特性
    • pq : 用于database/sqlPure Go Postgres驱动。

  • NoSQL数据库
    • go-couchbase :Go语言Couchbase客户端
    • gomemcache : Go编程语言的memcache客户端库。
    • gorethink : RethinkDB的Go语言驱动。
    • mgo : MonGoDB 驱动,通过简单的 API 现了丰富的、经过测试的特性,这些 API 遵循 Go 语言的习惯
    • mongo-go-driver : Go语言的官方MongoDB驱动。
    • redigo : RediGoRedis 数据库的Go 语言客户端.
    • redis : 兼容Redis协议的 TCP 服务器/服务.

  • 搜索引擎和文本数据库

    • bleve : 现代文本索引库
    • elastic : Go 语言的 Elasticsearch 客户端
    • go-elasticsearch : Go的官方Elasticsearch客户端。
    • riot : Go开源,分布式,简单高效的搜索引擎。
  • 多个后端:

    • cayley : 支持多个后端的图形数据库。
    • gokv : 为go(Redis、Consul、etcd、bbolt、BadgerDB、LevelDB、Memcached、DynamoDB、S3、PostgreSQL、MongoDB、CockroachDB等)提供简单的键值存储抽象和实现。

日期和时间

用于处理日期和时间的库

  • dateparse : 在不知道格式的情况下解析日期。
  • durafmt : 持续时间格式化
  • now : Now 是一个 Go 语言的时间工具集

分布式系统

  • dragonboat : Go中一个功能完整且高性能的多组Raft库。
  • emitter-io : 使用 MQTT、Websocketslove 构建的高性能、分布式、安全和低延迟的发布-订阅平台。
  • gleam : 快速、可扩展的分布式 map/reduce 系统,使用纯 Go 语言和 Luajit 编写,融合了 Go 语言的高并发能力和 Luajit 的高性能,可以独立或分布式部署运行。
  • glow : 易于使用的可扩展的分布式大数据处理、Map-Reduce、DAG执行,全部用纯Go编写。
  • go-kit : 为服务工具吧,支持服务发现、负载均衡 、可插拔传输以及请求追踪等
  • go-micro : 一个分布式系统开发框架。
  • grpc-go : gRPC的Go语言实现。基于HTTP/2的RPC
  • hprose : 非常新颖的RPC库,现在支持25种以上的语言。
  • KrakenD : 带有中间件的,高性能API网关框架
  • liftbridge : 用于NATS的轻量级、容错消息流。
  • micro : 面向云计算及其他领域的分布式系统运行时。
  • NATS : 轻量级、高性能微服务系统,用于微服务、物联网以及云
  • raft : Raft 共识协议的 Golang 实现,由 HashiCorp.开发。
  • raft : Raft共识协议的 Go 实现,由 CoreOS 提供。
  • rpcx : rpcx是一个类似阿里巴巴 Dubbo 和微博 Motan 的分布式的RPC服务框架
  • tendermint : 使用Tendermint 一致性及区块链协议的高性能的中间件,用于将任何语言编写的状态机转换为一个拜占庭容错状态机,
  • torrent : BitTorrent 客户端

动态DNS

更新动态dns记录的库和工具

暂无


邮件库

邮件管理和发送的go语言库

  • email : 健壮的、灵活的 email
  • go-imap : IMAP 库,用于客户端和服务器
  • hermes : 一个用于生成干净、响应式 HTML e-mail 的包
  • MailHog : EmailSMTP 测试工具,具有 web 及 API 接口

脚本语言与嵌入式编程

在你的go代码中嵌入其他脚本语言

  • anko : Go 语言编写的解释器
  • expr : Go 的表达式评估引擎,具有快速、非图灵完备、动态类型化、静态类型化的特性。
  • go-lua : Lua 5.2虚拟机的纯 Go 语言接口
  • go-python : CPython C-API Go 语言接口
  • goja : 在 Go 中实现 ECMAScript 5.1(+)
  • gopher-lua : Go 语言编写的 Lua 5.1 虚拟机和编译器
  • tengo : Go的字节码编译脚本语言。

错误处理

go 语言错误处理库

  • errors : 提供简单错误处理单元的包。
  • go-multierror : 用于将错误列表表示为单个错误的包

文件处理

处理文件和文件系统操作的库

  • afero : go语言编写的对文件系统进行抽象的系统框架
  • copy : 递归复制目录。
  • notify : 类似 os/signal的文件系统提示库,具有简单的 API.
  • pdfcpu : PDF 处理器。
  • skywalker : 允许你简单方便的并发浏览文件系统

金融领域相关库

处理货币与金融领域的库

  • decimal : 支持任意精度的十进制数的go包
  • go-money : Fowler's Money模式的实现。

表单

表单解析与绑定

  • binding : 将来自net/HTTP请求的表单、JSON 数据绑定到结构体
  • gorilla/csrf : 为 Go 语言 web 应用提供 CSRF 防御
  • nosurf : CSRF 防御中间件

函数式编程


游戏开发

  • Ebiten : Go 语言编写的简单的 2D 游戏库
  • engo : EnGo是一个开源的2D游戏引擎,遵循实体-组件-系统范式
  • g3n : Go 3D游戏引擎。
  • go-sdl2 : SDL2 的 Go封装。
  • gonet : Go 语言实现的游戏服务器框架
  • goworld : 可扩展的游戏服务器引擎。
  • Leaf : 轻量级游戏服务器框架
  • nano : 基于golang的轻量级、设施、高性能的游戏服务器框架。
  • Pixel :2D 游戏引擎库
  • termloop : 终端游戏引擎,基于 Termbox

代码生成与泛型

  • efaceconv : 代码生成工具,用于高效的将 interface{} 转换为不可变类型,并且不需要进行任何内存分配
  • gen : 代码生成工具,用于提供类似泛型的功能
  • go-linq : 类似.NET LINQGo查询方法。
  • goderive : 从输入类型导出函数。
  • GoWrap : 使用简单的模板为 Go 接口生成装饰器。
  • jennifer : 不适用模板生成任意 Go 语言代码

位置信息与地理GEO处理库

  • S2 geometry : Go中的S2几何库。
  • Tile38 : 具有空间索引和实时地理围栏的地理位置数据库。
  • gopherjs : 把 Go 编译为 JavaScript.
  • llgo : 基于 LLVM Go 语言编译器

Goroutines

goroutines的管理和使用

  • ants : 高性能和低消耗的goroutine池。
  • goworker : Goworker 是一个基于 Go 语言的后台worker
  • tunny : Go 语言协程池

GUI

  • app : 使用Go, HTMLCSS 进行应用程序开发的库, 支持 MacOS, Windows
  • fyne : 基于Material DesignGo设计的跨平台本地GUI。支持 Linux, macOS, Windows, BSD, iOS` 和 Android.
  • go-astilectron : 使用GOHTML/JS/CSS(由Electron提供支持)构建跨平台GUI应用程序
  • go-gtk : GTKGo绑定。
  • go-sciter : Sciter Go 语言接口,支持现代 GUI 程序开发的、嵌入式 HTML/CSS/脚本引擎。具有跨平台特性。
  • gotk3 : GTK3的Go语言接口
  • qt : QtGo语言接口 (支持 Windows,macOS,Linux,Android,iOS,Sailfish OS, Raspberry Pi)
  • ui : 跨平台的原生 GUI 库
  • walk : windows 应用程序开发工具包
  • webview : 支持双向JavaScript绑定的跨平台 webview 窗口库(Windows,macOS,Linux)。
  • robotgo : 跨平台GUI自动化工具,可以控制鼠标、键盘及其他设备
  • systray : 跨平台的 Go 语言库,用于在桌面提醒区域放置按钮及菜单

硬件

与硬件交互的库、工具


Images 图像处理

  • bild : 汇集了使用 Go 语言编写的图像处理算法
  • bimg : 利用libvips进行快速高效的图像处理
  • canvas : 将矢量图形转换成 PDF、SVG 或光栅化图像。
  • geopattern : 从字符串创建优美的图样
  • gg : 使用Go编写的 2D 渲染程序
  • gift : 图像处理过滤器包
  • go-nude : 使用 Go 语言进行裸替检测
  • go-opencv : OpenCVGo 语言接口
  • gocv : 使用 OpenCV 3.3+ 的计算机视觉的 Go 包。
  • imagick : ImageMagick MagickWand C 语言 APIGo 语言接口
  • imaginary : 快速且简单的 HTTP 微服务,用于图像缩放
  • imaging : 简单的Go图像处理包。
  • ln : 3D 图线艺术渲染
  • picfit : 一个使用 Go 语言编写的图片缩放服务器
  • pt : 光线追踪引擎
  • resize : 使用 Go语言编写的具有常见差值功能的图片缩放工具
  • smartcrop : - 为任意图片进行剪裁的工具
  • stegify : 用于LSB隐写的Go工具,能够隐藏图像中的任何文
  • svgo : 用于生成 SVG Go语言库

物联网(IOT)

  • flogo : FloGo是一个用于物联网 Edge App 及集成的开源框架
  • gatt : Gatt是一个用于创建低功耗蓝牙外设的库
  • gobot : Gobot 是一个用于机器人,物理计算以及物联网的库
  • mainflux : 工业物联网消息传递和设备管理服务器。
  • periph : 外设I/O,用于连接低级板卡设施。

作业调度

  • gocron : 简单流畅的Go作业调度。这是·jasonlvhit/gocron·`的一个积极维护的fork.
  • gron : 使用简单的 Go API 定义基于时间的任务,Gron 的调度器将相应地运行它们。
  • JobRunner : 智能且功能丰富的cron任务调度器,内置任务队列和实时监控。
  • jobs : 持久而灵活的后台作业库。
  • scheduler : Cronjobs调度系统。

JSON

  • GJSON : 用一行代码获取JSON值。
  • gojson : 从示例 JSON 自动生成 Go结构体定义的库。
  • JSON-to-Go : 将JSON转换为Go结构

Logging 日志库

  • glog : Go的分级日志
  • log : Go的结构化日志包。
  • log15 : 简单、强大的Go日志记录。
  • logrus : Go的结构化日志记录器。
  • lumberjack : 简单的循环日志工具。
  • seelog : 灵活的、解耦的、格式化的日志库
  • spew : - 为 Go 语言的数据结构实现了一个整洁的打印功能,有助于调试
  • tail : 这个 Go 语言软件包力争模拟 BSD tail 的功能
  • zap : 快速的、结构化的、分级的日志库
  • zerolog : 零内存分配 的JSON 日志库.

机器学习

  • bayesian : 贝叶斯分类器
  • CloudForest : 纯 Go 语言编写的快速、灵活、多线程决策树
  • eaopt : 进化优化库。
  • go-deep : 用Go编写的功能丰富的神经网络库。
  • GoLearn : Go语言通用机器学习库
  • goml : 即时go语言机器学习库
  • gorgonia : 基于图的计算库,类似于 Theano。提供了一些原型用于构建各种个样的机器学习和神经网络算法
  • gorse : 用Go编写的基于协作过滤的离线推荐系统后台。
  • gosseract : 用于OCR(光学字符识别)的Go包,使用Tesseract C++库。
  • tfgo : 易于使用的Tensorflow `` go语言封装:简化了官方Tensorflow Go的使用。

消息系统

  • APNs2 : go语言实现的基于HTTP/2苹果推送通知提供服务,可以向iOStvOSSafariOSX应用程序发送推送通知
  • Asynq : 建立在 Redis 之上,为 Go 提供的简单、可靠、高效的分布式任务队列,。
  • Beaver : 实时消息服务器,用于在网络和移动应用中构建可扩展的应用内通知、多人游戏、聊天应用。
  • Benthos : 在一系列协议之间建立消息流go代码库
  • Centrifugo : 实时消息服务器
  • Confluent Kafka Golang Client ConfluentApache KafkaConfluent Platform开发的Golang客户端。
  • EventBus : 轻量级事件库,支持异步
  • go-nsq : NSQ 官方 Go 语言库
  • go-socket.io Go 语言的 socket.io库 ,一个实时应用框架.
  • Gollum : 一个 n:m 的多路复用器,从不同的源汇聚消息并向目标进行广播
  • gopush-cluster : Gopush-cluster 是一个Go语言实现的支持集群的comet服务(支持 websockettcp协议)
  • gorush 通知推送服务器,使用 APNs2GCM
  • machinery : 异步任务队列,基于分布式消息处理
  • mangos : 纯 Go 语言实现的 Nanomsg ("Scalable Protocols")
  • melody : 用于处理websocket会话的简约框架,包括广播和自动ping/pong处理。
  • Mercure : 使用Mercure协议(建立在Server-Sent Events之上)来调度服务器发送的更新的代码库。
  • NATS Go Client : 原生的 oplog/replication 系统,用于 REST APIs场景
  • sarama : 用于 Apache Kafka 的库
  • Uniqush-Push : 基于 Redis 的统一推服务,用于服务器端向移动客户端推送消息
  • zmq4 : ZeroMQ version 4GO 语言接口。也有适用于version 3version 2 的。

Microsoft Office

  • unioffice : 用于创建和处理Office Word (.docx)、Excel (.xlsx)Powerpoint (.pptx)文档的纯go库。

EXCEL

  • excelize : 用于读写 Microsoft Excel™ (XLSX) 文件的 Golang
  • xlsx : 用于在 Go 程序中读取最新版 Microsoft Excel的库

其他杂项

依赖性注入

  • dig : 基于反射的Go依赖注入工具包。
  • fx : 基于 Go 的依赖注入应用框架(建立在 dig 的基础上)。

项目结构

用于构建项目的非官方模式集。


字符串处理

  • xstrings : 从其他语言移植过来的字符串函数集合。

暂未分类

这些库被放在这里是因为其他类别似乎都不适合。

  • antch : 一个快速、强大、可扩展的网络爬行和抓取框架。
  • archiver : 用于制作和解压.zip.tar.gz文件的库和命令。
  • base64Captcha : Base64captch支持数字、数字、字母、算术、音频和数字来生成字母验证码。
  • conv : 包conv提供了跨Go类型的快速和直观的转换。
  • gatus : 自动化的服务健康仪表板。
  • go-commons-pool : Golang 的通用对象池。
  • go-openapi : 解析和使用 open-api 模式的软件包集合。
  • go-resiliency : golang的弹性模式。
  • go-unarr : RAR、TAR、ZIP7z文件的解压库。
  • gofakeit : 用go编写的随机数据生成器。
  • gopsutil : 跨平台库,用于检索进程和系统利用率(CPU、内存、磁盘等)。
  • gosms : 你本地的SMS 网关,可以用来发送 SMS
  • llvm : - 用于在纯Go中与LLVM IR交互的库。
  • shortid : 分布式生成超短的、唯一的、非序列的、URL友好的ID。

自然语言处理

  • go-pinyin : 汉字到汉语拼音转换器。
  • gojieba : 结巴分词的 Go 语言实现的 jieba ,结巴分词是一个用于中文的分词算法
  • gse : Go高效的文本分割;支持英语、中文、日语和其他语言。
  • kagome : 用纯Go编写的JP形态分析器。
  • prose : 文本处理库,支持词语切分、词性标记、命名实体提取等功能
  • whatlanggo : Go语言的自然语言检测包。支持84种语言和24种书写 (如拉丁,西里尔等书写系统)。
  • when : 英语、俄语的自然语言日期、时间表达解析器。

网络相关库

  • cidranger : Go的快速IP、CIDR查找库。
  • dns : 用于处理 DNS Go 语言库
  • fasthttp : asthttp 是一个快速的HTTP实现,比net/http1的性能快10倍
  • fortio : 负载测试库和命令行工具,提供先进的echo服务器和web用户界面。允许指定设定每秒钟查询的负载,记录延迟直方图和其他有用的统计数据,并将其绘制成图表。
  • ftp : ftp 实现了一个FTP 客户端,遵循 RFC 959 标准。
  • gev : 一个轻量、比标准库更快的基于 Reactor 模式的非阻塞TCP网络库,支持自定义协议,可以轻松快速搭建高性能服务器。
  • gnet : gnet是用纯Go编写 的一个高性能、轻量级、非阻塞、事件驱动的网络框架,
  • go-getter : 一个用于通过 URL 从多种源下载文件或目录的 Go 语言库
  • gobgp : Go语言实现的BGP
  • gopacket : 用于报文处理的库
  • grab : 管理文件下载的Go 语言库
  • HTTPLab : HTTPLabs让你检查 HTTP请求和伪造响应。
  • kcp-go : KCP - 快速可靠的ARQ协议。
  • kcptun : 基于KCP协议的极其简单和快速的udp隧道。
  • lhttp : 强大的websocket框架,让您更轻松地建立IM服务器。
  • mdns : 简单的 mDNS (组播 DNS)客户端/服务器库
  • NFF-Go : 用于快速开发云和裸机(原YANFF)的高性能网络功能的框架。
  • quic-go : 纯GoQUIC协议的实现。
  • sftp : sftp 实现了https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt 中描述的 SSH 文件传输协议
  • ssh : 用于创建 SSH 服务器的高级 API(封装了crypto/ssh).
  • water : 一个简单的TUN/TAP库。
  • webrtc : WebRTC API的纯Go实现。

Http Client

  • grequests : 著名的请求库的Go版本。
  • heimdall : 具有重试和hystrix功能的http客户端。
  • resty : 受Ruby rest-client 的启发,为Go 设计的简单 HTTPREST客户端。
  • sling : 用于创建和发送 API请求的Go HTTP客户端库。

OpenGL

  • gl : OpenGLGo语言接口
  • glfw : GLFW 3Go语言接口

ORM

  • beego orm : 强大的Go 语言 orm 框架,支持pq/mysql/sqlite3.
  • ent : 简单而强大的用于数据建模和查询的ORM。
  • go-pg : 专注于PostgreSQL功能和性能的ORM
  • go-sqlbuilder : 灵活而强大的SQL字符串构建库,加上一个零配置的ORM
  • GORM : 超棒的 Go 语言 ORM 库,对开发者非常友好
  • gormt : Mysql数据库到Golang 结构体的orm库。
  • gorp : GoORM类库。
  • pop/soda : 支持 MySQL, PostgreSQL, 以及SQLite.的数据库迁移、创建、ORM 的工具,
  • QBS : 利用结构体进行标准查询,是一个 Go语言ORM
  • reform : 基于非空接口和代码生成的优秀的 ORM,
  • SQLBoiler :ORM 生成器。为你的数据库表单生成一个功能全面、快速的 ORM
  • upper.io/db : - 通过使用封装了成熟的数据库驱动的适配器,来使用单一接口与不同的数据源进行交互
  • XORM : 简单、强大的 Go 语言 orm

Go语言包管理

  • go modules : go module是最新的go语言版本管理工具。go module具有支持包引入记录和其他模块的依赖构建功能。
  • dep : Go 语言依赖工具.
  • glide : 轻松管理你的GO 语言包发布者以及发布包。 受到类似 Maven, BundlerPip这些工具的的启发
  • godep : Go 语言依赖工具,Godep可以帮助开发者修复库的依赖关系
  • gom : Go Manager
  • gopm : Go 包管理器
  • govendor : Go 包管理器。 Go语言vendor 工具,兼容标准 vendor文件
  • gpm : Go语言包管理工具
  • jaeger : 分布式跟踪系统。
  • profile : Go 的简单剖析支持包。
  • statsviz : 实时可视化你的Go应用程序运行时的统计数据。

查询语

  • gojsonq : 用于查询JSON数据的Go
  • graphql : 专注于易用性的GraphQL 服务器
  • graphql-go : 为Go语言实现的GraphQL

资源嵌入

  • go.rice : Go.rice是一个让你轻松使用html,js,css,图片以及模板这类资源的库
  • packr : 将静态文件嵌入Go二进制文件的简单方法。
  • statik : 将静态文件嵌入到Go 语言可执行文件中

数据分析与数据科学

  • chart : Go的简单图表绘制库,支持多种图形类型。
  • dataframe-go : 用于机器学习和统计的数据框类似于pandas
  • ewma : 指数加权移动平均数。
  • go-dsp : 数字信号处理
  • gohistogram : 数据流的近似直方图
  • gonum : 用于 Go 编程语言的数值库。它包含了矩阵、统计、优化等方面的库。
  • gonum/plot : Gonum/plot提供了用于创建和绘制图表的API
  • goraph : 纯Go语言编写的图论库(数据结构,算法可视化)
  • gosl : 用于线性代数、FFT、几何学、NURBS、数值方法、概率、优化、微分方程等的 Go 科学库。
  • graph : 基本图形算法库。
  • stats : 统计库,包含一些 Go 语言标准库中漏掉的常用函数
  • streamtools : 通用图形化工具,用于处理流数据

安全领域相关库

  • acmetool : ACME (Let's Encrypt) 客户端工具,支持自动续期.
  • acra : 用于保护基于数据库的应用程序的网络加密代理,用于防止数据泄露、SQL注入等。
  • Cameradar : 用于远程入侵监控摄像头的RTSP流的工具库。
  • lego : 纯 Go语言开发的 ACME 客户端库及命令行工具
  • memguard : 用于处理内存中敏感数据的Go 语言库
  • secure : 为 Go 提供了一些安全功能 HTTP 中间件,
  • themis : 高级加密库,用于解决典型的数据安全任务(安全数据存储、安全消息传递、零知识证明认证),提供14种语言,最适合多平台应用。

序列化

  • colfer : 用于生成 Colfer二进制格式代码
  • csvutil : 高性能的CSV记录编码和解码器
  • go-capnproto : Go的Cap'n Proto编码器和解析器。
  • go-codec : 高性能、多功能、规范化编码解码以及rpc库, 用于 msgpack, cborjson,支持基于运行时的 OR 码生成
  • gogoprotobuf : 用于Gadgets 的go协议缓冲区。
  • goprotobuf : 以库和协议编译器插件的形式为 Google 的协议缓冲区提供 Go 支持。
  • jsoniter : 100%兼容的"encoding/json "的 高性能程序库。
  • mapstructure : 用于将通用map值解码为本地Go结构的Go库。

服务端应用

  • algernon : HTTP/2 web服务器,内置Lua、Markdown、GCSSAmber支持。
  • devd : 开发者使用的本地web 服务器
  • discovery : 一个用于弹性中层负载均衡和故障转移的注册表。
  • etcd : 高可用性的键值存储,用于分享配置和服务发现
  • Fider : Fider是一个收集和整理客户反馈的开放平台。
  • Flagr : Flagr是一个开源的功能标志和A/B测试服务。
  • flipt : 用GoVue.js编写的自带功能标志的解决方案。
  • minio : Minio 是一个分布式对象存储服务器
  • nsq : 一个实时的分布式消息平台
  • SFTPGo : 功能齐全、高度可配置的SFTP服务器,可选择支持FTP/S和WebDAV。它可以为本地文件系统和云存储后端服务,如S3和谷歌云存储。
  • Trickster : HTTP反向代理缓存和时间序列加速器。

流处理

流式数据处理和响应式编程库


模板引擎

模版渲染和模版生成处理库

  • ace : Go 语言版本的 HTML 模板引擎,受到了 SlimJade 的启发。Ace 是对Gold的一种改进。
  • amber : Amber 是一个优雅的模板引擎,受到HAMLJade的启发
  • ego : 轻量级模板语言,让你可以使用 Go语言来创建模板。模板会被转化为 Go 语言并编译
  • fasttemplate : 简单而快速的模板引擎。替换模板占位符的速度比fasttemplate : 快10倍
  • gofpdf : PDF文档生成器,高度支持文本、绘图和图像。
  • hero : Hero是一个趁手的、快速的、强大的 Go 语言模板引擎
  • jet : Jet 模板引擎
  • mustache : Go语言实现的 Mustache模板语言
  • pongo2 : 类似Django的模板引擎
  • quicktemplate : 快速、强大且易用的模板引擎。将模板转化为 Go 语言并进行编译
  • Razor : Go语言的 Razor 视图引擎

测试相关

测试库和测试数据集生成库

  • 测试框架

    • baloo : 表达性强、多功能的、端到端的HTTP API 测试工具
    • frisby : REST API 测试框架
    • go-cmp : 用于比较测试中的 Go值的软件包。
    • go-vcr : 记录并重放 HTTP交互,用于快速的、确定性的、准确的测试
    • goblin : 类似 Mocha 的测试框架
    • godog : 类似于CucumberBehatGo BDD框架。
    • httpexpect : 简洁的、声明式的、易用的端到端HTTP 及 REST API 测试
    • Testify : 对标准测试包的扩展
    • testmd : 将markdown片段转换为可测试的go代码。

  • Mock

    • go-sqlmock : Mock SQL ,用于测试数据库交互
    • gock : 多功能、易用HTTP mock
    • gomock : 给 Go 语言用的Mock框架
    • hoverfly : HTTP(S) : proxy,用于记录和模拟REST/SOAP API,具有可扩展的中间件和易于使用的 CLI。
    • httpmock : 轻松模拟来自外部资源的 HTTP 响应。
    • minimock : Mock生成器
  • Fuzzing and delta-debugging/reducing/shrinking.

    • go-fuzz : 随机化测试系统
    • gofuzz : 用于生成随机值来初始化Go语言对象的库
  • Selenium及浏览器控制工具

    • chromedp : 用于驱动和测试Chrome, Safari, Edge, Android Webviews, 以及其他支持Chrome调试协议的产品
    • rod : Devtools驱动,使网络自动化测试变得简单。
    • selenoid : Selenium hub服务器的替代品,可以在容器中启动浏览器
  • Fail injection


文本处理

解析和操作文本的代码库

  • 特定文本格式处理

    • align : 文本对齐
    • allot : 占位符及通配符文本解析
    • bbConvert : 将bbCode 转换为HTML
    • blackfriday : Markdown 解析器
    • bluemonday : HTML 清理工具
    • codetree : 解析缩进代码(python、pixy、scarlet等)并返回一个树形结构。
    • colly : go语言版爬虫框架
    • commonregex : Go常用正则表达式的集合。
    • dataflowkit : Web爬虫框架用于将网站转化为结构化数据。
    • did : Go中的DID(去中心化标识符)解析器和Stringer
    • doi : Go中的文档对象标识符(doi)解析器。
    • editorconfig-core-go : Go 语言用的Editorconfig 文件解析和操作库
    • encdec : 通用编码和解码器
    • genex : 计算并展开正则表达式为所有匹配的字符串
    • github_flavored_markdown : GitHub Flavored Markdown 渲染器(使用 blackfriday),带有栅栏式代码块高亮,可点击标题锚链接
    • go-fixedwidth : 固定宽度的文本格式(带反射的编码器/解码器)。
    • go-humanize : 将时间、数字和内存大小格式化为人类可读的格式。
    • go-nmea : Go语言的NMEA解析库。
    • go-runewidth : 用于获取固定宽度的字符或字符串的函数。
    • go-slugify : 制作支持多语言的漂亮slug
    • go-toml : TOML格式的Go库,
    • go-vcard : 解析和格式化vCard
    • go-zero-width : Go的零宽度字符检测和移除。
    • gofeed : 使用Go语言解析RSSAtom
    • gographviz : 用以解析Graphviz DOT 语言
    • gommon/bytes : 格式化二进制为字符串
    • gonameparts : 将人名解析为几个独立的部分
    • goq : 声明式HTML 编组,使用结构标签和jQuery语法 (使用GoQuery).
    • GoQuery : GoQuery Go语言带来了一组类似jQuery 的语法和功能
    • goregen : 根据正则表达式生成随机字符串
    • goribot : 简单的golang爬虫框架,3行代码就可以创建爬虫。
    • gotext : Go语言版本的GNU gettext工具。
    • guesslanguage : 用于确定unicode文本的自然语言的函数。
    • html-to-markdown : 将HTML转换为Markdown。甚至适用于整个网站,并可通过规则进行扩展。
    • htmlquery : HTMLXPath 查询包,让您可以通过 XPath 表达式从HTML文档中提取数据。
    • inject : 一个基于反射的注入器
    • ltsv : 适用于 Go 的高性能 LTSV(Labeled Tab Separated Value)阅读器。LTSV (Labeled Tab Separated Value) :
    • mxj : 通过点分路径和通配符来提取值 将 XML编解码为 JSON map[string]interface{};目的是用于替代Replaces x2jj2x 包.
    • pagser : Pagser是一个简单的、可扩展的、可配置的、基于goquerystruct标签的golang 爬虫解析和反序列化工具,能够将html页面映射到struct结构体中。
    • podcast : Golang中兼容iTunesRSS 2.0的播客生成器。
    • sdp : SDP Session Description Protocol, RFC 4566实现
    • sh : Shell解析器及格式化工具
    • slug : URL友好的 slug 化工具,支持多种语言
    • Slugify : Go语言静态地址生成器,可以处理字符串
    • syndfeed : 适用于Atom 1.0和RSS 2.0的聚合feed
    • toml : TOML 配置格式的编码解码器
  • 文本工具

    • gofuckyourself : 敏感词过滤器
    • gotabulate : 使用 Go轻松地打印你的表格数据。
    • kace : 涵盖常见初始化的普通大小写转换。
    • parseargs-go : 能理解引号和反斜杠的字符串参数解析器。
    • parth : URL路径分割解析库。
    • radix : 快速字符串排序算法。
    • regroup : 使用struct标记和自动解析将正则表达式命名的组匹配到 go 结构中。
    • Tagify : 从给定的源中产生一组标签。
    • textwrap : Pythontextwrap模块的实现。
    • TySug : 关于键盘布局的替代建议。
    • xj2go : 将xml或json转换为go结构。
    • xurls : 从文本中提取URLs

第三方API

第三方API 汇总

  • anaconda : Twitter 1.1 API的 go 语言客户端
  • aws-sdk-go : AWS 提供的官方go语言 SDK
  • discordgo : 用于与Discord 聊天 API进行交互的Go语言客户端。
  • github : 用于访问GitHub REST API v3Go库。
  • githubql : 用于访问GitHub GraphQL API v4Go 库。
  • go-twitter : 用于Twitter v1.1 APIs Go 客户端库。
  • google : 为Go 自动生成的Google API
  • google-cloud :Google Cloud APIs Go客户端库。
  • Medium : 用于MediumOAuth2 APIGolang SDK
  • paypal : PayPal支付API
  • stripe : 用于访问Stripe APIGo客户端。

工具库

可以提升效率的通用代码库和工具

  • boilr : 用于从模板中快速创建项目的CLI工具。
  • ctop : 用于容器指标,类似于Top的接口(例如htop)。
  • Deepcopier : Go的简单结构拷贝库。
  • filetype : 用于推断文件类型的小程序包,它可以检查魔法数字签名。
  • fzf : 命令行模糊查找工具
  • git-time-metric : 简单、无缝、轻量级的 Git时间跟踪。
  • go-dry : go语言中DRY (don't repeat yourself)
  • go-funk : Go语言工具库,提供了很多有用的工具(map, find, contains, filter, chunk, reverse, ...)
  • go-rate : Go 语言版本的限速器
  • godaemon : 用于编写守护进程的工具
  • godropbox : Dropbox开发的用于编写 Go语言服务/应用的库
  • goreleaser : 尽可能快速的发布Go语言二进制文件
  • goreporter : 进行代码静态分析,单元测试,代码检视并生成代码质量报告的工具
  • gubrak : 带有语法糖的 Golang工具库。它类似于lodash,但适用于 golang
  • handy : 许多实用工具和帮助程序,如字符串处理程序/格式化程序和验证器。
  • hostctl : 用简单的命令管理/etc/hosts CLI工具。
  • htcat : 并行及流水线的 HTTP GET 工具
  • hub : 封装了git命令,提供了额外的功能用于在终端中和Github 进行交互
  • hystrix-go : 实现 Hystrix 风格的、程序员预定义的fallback 机制(熔断)
  • immortal : *nix 跨平台 (与操作系统无关的)监控程序
  • jump : Jump通过学习你的习惯来帮助你更快地浏览文件。
  • koazee : 受Lazy评估和函数式编程启发而开发的库,它消除了使用数组的麻烦。
  • mc : Minio Client提供了与 Amazon S3兼容的云存储和文件系统管理工具。
  • mergo : Golang中合并结构和地图的助手。对配置默认值很有用,避免了混乱的if语句。
  • mimetype : 基于魔数的MIME类型检测包。
  • minify : 快速压缩HTML, CSS, JS, XML, JSON 以及 SVG 文件格式
  • mmake : 现代Make工具
  • mole : 用于轻松创建ssh隧道的cli应用程序。
  • panicparse : 将类似的goroutines分组,并对堆栈转储进行着色。
  • peco : 简单的交互式过滤工具。
  • realize : Go 语言构建系统,可以监控文件变化并重新加载。运行,构建,监控文件并支持自定义路径
  • retry : 最先进的功能机制,用于重复执行动作直到成功。
  • robustly : 弹性地运行函数,捕捉和重启 并自动处理panic
  • spinner : Go 语言软件包,提供多种选项,方便在终端中创建加载动画
  • sqlx : 为内建的database/sql 软件包提供扩展
  • Storm : 用于BoltDB 的简单又强大的工具
  • Task : 简单来讲就是"Make"的替代品
  • toolbox : slice, map, multimap, 结构体, 函数,数据转换工具、服务路由,宏求值和标记器工具
  • usql : usql是一个通用的命令行接口,用于操作sql数据库
  • util : 收集了很多有用的函数
  • wuzz : 交互式命令行程序,用于进行HTTP 检查

UUID

UUID 生成和操作库

  • ulid : ULID (Universally Unique Lexicographically Sortable Identifier) Go实现。
  • uuid : 通用唯一标识符(UUID)的实现。支持UUID的创建和解析。
  • uuid : 基于RFC 4122DCE 1.1UUIDs Go包。
  • wuid : 极快的唯一数字生成器,比UUID快10-135倍。

校验库

用于校验的库

  • checkdigit : 提供数字算法(Luhn, Verhoeff, Damm)和数字计算(ISBN, EAN, JAN, UPC等)功能的库。
  • govalidator : 数据验证及清晰工具,用于字符串,数字, 数组切片及结构体
  • govalidator : 用简单的规则验证Golang请求数据. 高度受Laravel的请求验证的启发.
  • ozzo-validation : 支持多种数据类型的验证 (结构体,字符串,键值对,数组切片等等),具有可配置、可扩展的验证规则,且使用常用代码结构定义,而非结构体标签
  • validator : Go结构体及域验证,包括:跨域、跨结构体,Map, 切片和数组

版本控制

版本控制相关库

  • git2go : libgit2 Go语言接口
  • go-git : 纯Go中实现高度可扩展的Git
  • hercules : 查看git repo历史的代码库

视频

视频和流媒体相关库

  • gmf : FFmpeg av*库的 Go 语言接口.
  • go-astisub : 使用 Go 语言操作字幕(.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
  • go-astits : 在 GO 中解析和解调 MPEG 传输流(.ts)。
  • goav : 易用的 FFmpegGo 语言接口

web框架

web 框架

  • Aero : Go的高性能Web框架,在Lighthouse 评比中拿到最高分
  • Air : 理想的RESTful web 框架
  • Beego : beeGo 是一个开源的、高性能的 Go 语言web框架
  • Buffalo : 为Go 语言带来堪比 Rails 的高生产效率
  • Echo : 高性能、极简的 Go语言web 框架
  • Fiber : 受 Express.js启发的 Web 框架,构建在Fasthttp上。
  • Gin : Gin 是一个 Go 语言编写的 web 框架,提供了一组类似martiniAPI,且具有更好的性能(40倍的性能提升)。如果你需要高性能和高生产率,这个框架很适合你
  • Gizmo : 纽约时报正在使用对微服务工具集
  • go-json-rest : 快速、简单的创建RESTful JSON API.
  • Macaron : Macaron是一个高效的模块化设计的web框架
  • neo : 极小且快速的 Go 语言 web 框架,具有及其简单的API
  • Revel : go语言高生产率框架
  • tango : 微型的、支持插件的web框架
  • tigertonic : 受到 Dropwizard 启发,用于构建JSON web服务的 Go语言框架,
  • utron : 轻量级的go语言 MVC 框架

中间件

中间件

  • CORS : 非常方便地向你的api中添加 CORS功能
  • Limiter : 超级简单的限速中间件
  • Tollbooth : HTTP 请求限速中间件

创建http中间件的代码库

  • alice : 创建链式中间件的库
  • negroni : 符合语言习惯的HTTP中间件库
  • render : 用于轻松渲染JSON, XML, 及HTML 模板响应的库
  • stats : Go语言中间件,用于存储web应用的多种信息

路由

  • Bone : 轻量、快速的HTTP 多路复用器
  • chi : 基于net/context的小巧、快速、具有丰富表达力的HTTP路由.
  • fasthttprouter : 从httprouter分叉出来的高性能路由器,也是第一个适合fasthttp的路由器。
  • gocraft/web : Mux及中间件包
  • Goji : Goji是一个极简的、灵活的HTTP 请求数据分选器,支持net/context.
  • httprouter : 高性能路由,使用这个库和标准http处理工具可以构建一个非常高性能大web框架
  • mux : 强大的URL路由和分发库

WebAssembly

  • dom : DOM库
  • tinygo : 基于LLVM,适用于微型场景的Go编译器。包括微控制器、WebAssembly和命令行工具。

Windows

暂无

XML


  • xpath : XPath
  • zek : 从 XML 生成一个 Go结构体。

相关工具

go相关工具和插件

代码分析

  • apicompat : 检测go语言项目最近的变化,用于监测不能向后兼容的代码修改
  • dupl : 用于检测重复代码的工具
  • errcheck : Errcheck是一个用于检测go语言程序中存在未处理错误的程序
  • gcvis : 实时地将Go 语言垃圾回收进行可视化
  • go-mod-outdated : 一种查找 Go项目中过时的依赖关系的简单方法。
  • goast-viewer : 基于Web Golang AST 可视化工具.
  • goimports : 用于自动修复,添加,删除你的 Go 语言项目的 import
  • GoLint : 针对 Go 语言源码的 lint 工具
  • goreturns : 添加零值return 语句以符合函数返回值类型
  • tickgit : 用于显示代码注释TODO(任何语言)的CLI和go包,并应用git blam来识别作者
  • unconvert : 从go语言代码中移除不必要的类型转换

编辑器插件

  • go-mode : GNU/EmacsGo语言模式
  • go-plus : 供Atom 使用的自动补全、格式化、语法检查、lintVetting 的软件包
  • gocode : go语言自动补全
  • goprofiling : 这个扩展为 VS Code增加了对 Go语言的基准分析支持。
  • GoSublime : SublimeText 2 使用的 Go 语言插件,支持代码补全以及一些类似 IDE 的特性
  • vim-go : Vim使用的Go 语言开发插件
  • vscode-go : Visual Studio Code (VS Code) : 使用的一个扩展,为 Go 语言提供了支持

Go 代码生成工具

  • genny : 为 Go提供优雅的泛型。
  • gotests : 根据源代码生成Go测试代码。

Go 工具

  • depth : 通过分析导入的库,将某个包的依赖关系用树状结构进行显示
  • go-callvis : 使用dot语言将你的 Go 语言程序函数调用关系可视化
  • go-swagger : 为 Go 语言实现的Swagger 2.0.
  • OctoLinker : - 使用github 的浏览器插件 OctoLinker高效浏览Go 语言文件

软件包

Go语言开发的软件工具

devops 工具

  • Blast : 一个简单的API负载测试和批量作业管理的工具。
  • bombardier : 快速的、跨平台的HTTP基准工具.
  • bosun : 基于时间序列的告警框架
  • cassowary : 用Go编写的现代跨平台HTTP负载测试工具。
  • fac : 用于修复git合并冲突的命令行用户界面。
  • gaia : 利用任何编程语言都可以构建强大的管道的库。
  • Gitea : 社区驱动的Gogsfork
  • go-selfupdate : 让你的 Go 语言程序可以自我更新
  • Gogs : 自我托管的Git服务
  • gox : 非常简单的Go语言交叉编译工具
  • goxc : Go 语言构建工具,专注于交叉编译和打包
  • GVM : GVM提供了用于管理Go语言版本的接口
  • Hey : Hey是一个微型程序,用于向web 应用发送负载
  • kala : 极简、现代的、高效的任务调度
  • kubernetes : 来自Google的容器集群管理器
  • Moby : 为容器生态系统创建的一个合作项目,用于构建基于容器的系统
  • Packer : Packer通过单一的配置文件,为不同的平台创建独立镜像
  • Pomerium : Pomerium是一个身份感知的访问代理。
  • s3gof3r : 为了从Amazon S3中高速存取大型对象而特别优化的库
  • script : 在Go中轻松编写类似shell的脚本,用于DevOps和系统管理任务。
  • skm : SKM是一个简单而强大的SSH密钥管理器,它可以帮助您轻松管理您的多个SSH密钥。
  • StatusOK : 监控你的网站和 REST APIs。如果你的服务器挂了或是响应时间超过预期,则会通过Slack,E-mail来通知你
  • traefik : 能对接多个后端的反向代理和负载均衡器。
  • uTask : 自动化引擎,可对yaml中声明的业务流程进行建模和执行。
  • Vegeta : HTTP 加载测试工具和代码库
  • webhook : 允许用户创建HTTP钩子,并在服务器上执行命令

其他软件库和软件包

  • borg : 基于终端的搜索引擎,用于搜索 bash代码片段
  • Cherry : Go语言实现的一个微型网络聊天服务器
  • Circuit : Circuit是一个可编程的PaaS以及IaaS,用于管理、发现以及编排各种云端应用的服务及主机
  • Comcast : 模拟网络波动情况下的网络数据连接
  • confd : 使用etcd consul来管理本地应用的配置文件
  • croc : 轻松安全地将文件或文件夹从一台计算机发送到另一台计算机。
  • Docker : 一个为开发者和系统管理员提供的针对分布式应用的开源平台
  • Documize : 维基软件,可以使用SaaS工具提供的数据
  • Duplicacy : 跨平台网络和云备份工具
  • gfile : 无需任何第三方工具通过WebRTC在两台电脑之间安全传输文件。
  • Go Package Store : 一个可以显示你的GoPATH 路径下Go软件包的应用
  • GoBoy : 用Go编写的任天堂游戏机颜色模拟器。
  • Gor : Http 流量复制工具,用于将生产环境的流量在开发环境进行重放
  • Guora : 一个用Go编写的类似于Quora的问答网络应用。
  • hugo : - 快速、现代的静态web引擎
  • ide : 为Go语言设计可以在浏览器的IDE
  • Juju : 服务部署及编排工具,,支持EC2,Azure,Openstack,MAAS 等等
  • lgo : 使用Jupyter进行交互式编程。它支持代码补全、代码检查,100%兼容Go
  • limetext : Lime Text 是一个强大又优雅的编辑器,主要使用Go 语言开发,意在成为Sublime Text的继承者。
  • LiteIDE : LiteIDE 是一个简单、开源、跨平台的 Go语言 IDE
  • mockingjay : 伪HTTP服务器,通过单一配置文件构造访问请求。同时你还可以让服务器提升负载,以进行更加符合现实情况的性能测试
  • myLG :Go语言编写的命令行网络诊断工具
  • nes : Go 语言编写的任天堂(NES)模拟器
  • peg : Peg(Parsing Expression Grammar)是一个Packrat parser generator的实现
  • restic : 解耦备份程序
  • scc : 一个非常快速准确的代码计数器,具有复杂度计算和COCOMO估计功能。
  • Seaweed File System : 快速、简单、可扩展的分布式文件系统,具有O(1)的磁盘查找效率
  • shell2http : 通过HTTP服务器执行shell命令行(用于原型验证或远程控制)。
  • snap : 强大的遥测框架
  • Stack Up : Stack Up是一个超级简单的开发工具,就好比是服务器网络的make工具
  • syncthing : 开源、去中心化的文件同步工具和协议
  • toxiproxy : 用于自动化测试中模拟网络和系统状态的代理服务。
  • tsuru : 可扩展的、开源的SAAS 软件

空文件

简介

精选Go语言的开源项目,并分析和解读其设计实现的关键之处。 展开 收起
README
MulanPSL-2.0
取消

发行版

暂无发行版

贡献者 (2)

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/learning_path_series/go_oss_collection.git
git@gitee.com:learning_path_series/go_oss_collection.git
learning_path_series
go_oss_collection
Go语言工程精选
master

搜索帮助