Golang库集合

0.93字数 8079阅读 5252

golang用于创建和发送电子邮件的库

douceur - HTML 邮件中的内联 CSS
email - 一个健壮的、灵活的 email 库
Go-dkim - DKIM 库,用于对 email 进行签名和验证
Go-imap - IMAP 库,用于客户端和服务器
Go-message - 用于触雷互联网消息格式和邮件的库
Gomail - Gomail 是一个非常简单且强大的库,用于发送电子邮件
Hectane - 轻量级 SMTP 客户端,提供 HTTP API
hermes - 一个用于生成干净、响应式 HTML e-mail 的包
MailHog - Email 及 SMTP 测试工具,具有 web 及 API 接口
SendGrid - SendGrid 的 Go 语言库,用于发送电子邮件
smtp - SMTP 服务器协议状态机

golang处理日期和时间的库

carbon - 简单的时间扩展程序,有很多有用的方法,是 PHP Carbon 库的接口
durafmt - 持续时间格式化
feiertage - 一组计算德国公共假期的函数,比如复活节、感恩节等
Go-persian-calendar - 太阳历
Goweek - 处理星期的库
now - Now 是一个 Go 语言的时间工具集
NullTime -时间可以是 NULL 的库
timeutil - 为 Go 语言时间包扩展了有用的功能,例如时间间隔和格式化

数据库迁移

darwin - 数据库模式进化库
Go-fixtures - 类似 DjanGo fixtures,用于 Golang 的內建数据库/sql 库
Goose - 数据库迁移工具。你可以通过编写增量 SQL 或 Go 语言脚本来管理你的数据库
Gormigrate - 数据库模式迁移帮助工具,用于 Gorm ORM.
migrate - 数据库迁移。命令行及 Go 语言库
pravasan - 简单的迁移,目前支持 MySQL 但是近期打算支持 Postgres, SQLite, MonGoDB 等等
soda - 数据库迁移、创建、 ORM等等,用于 MySQL, PostgreSQL, 以及 SQLite.
sql-migrate - 数据库迁移工具,允许利用 Go-bindata 将数据库迁移嵌入应用程序

Go 语言实现的数据库

BigCache - 为 gigabytes 量级数据设计的高效键/值缓存
bolt - 底层键值数据库
buntdb - 快速,可嵌入的,内存键值数据库,可定义索引及 spatial
cache2Go - 基于内存存储的键值缓存,支持自动基于超时的自动失效
cockroach - 可扩展的、一致的事务型数据库
couchcache - RESTful 缓存微服务,基于Couchbase
dgraph - 可扩展的、分布式的、低延时、高吞吐的图数据库
diskv - 具有 disk-backed 功能的持久化键值存储
eliasdb - 无依赖、事物型图数据库,支持 REST API、短语搜索以及类 SQL 的查询语言
forestdb - ForestDB 的 Go 语言借口
GCache - 支持缓存过期、 LFU、 LRU 和 ARC 的缓存库
geocache - 基于内存存储的缓存,适用于分布式部署的应用
Go-cache - 内存键值存储/缓存库,适用于单机程序
Goleveldb - 使用 Go 语言实现的 LevelDB
groupcache - Groupcache 是一个缓存及缓存填充库,在很多情况下用于替代 memcached.
influxdb - 用于计量、事件及实时分析的、可扩展的数据库
ledisdb - Ledisdb 是一个高性能 NoSQL 数据库,类似 Redi
leviGo - LeviGo 是 LevelDB的 Go 语言封装
moss - Moss 是一个简单的 LSM 键值存储引擎,100% Go 语言实现
piladb - 轻量级 RESTful 数据库引擎,基于堆栈结构
prometheus - 监控系统及时间序列数据库
rqlite - 基于 SQLite 的轻量级的、分布式的关系型数据库
Scribble - 小巧的 JSON 文件存储
tempdb - 临时数据的键值对存储
tidb - TiDB 是一个分布式的 SQL 数据库。受到了 Google F1的启发
tiedot - 基于 Go 语言的 NoSQL 数据库
Tile38 - 地理位置数据库及实时地理围栏

golang通用数据结构及算法

binpacker - 二进制数据封包拆包工具,帮你构建自定义的二进制数据流
bit - Go 语言集合数据结构。提供了额外的位操作功能
bitset - 实现了 bitset 的 Go 语言包.
bloom - Go 语言实现的布隆过滤器(bloom filter)
bloom - Go 语言实现的布隆过滤器
boomfilters - 概率统计数据结构,用于处理大量连续的数据。
count-min-log - Go 语言实现的 Count-Min-Log sketch 算法(类似 Count-Min sketch 算法,但是使用的内存更少).
cuckoofilter - Cuckoo 过滤器:一个用go语言实现的计数布隆过滤器的替代品
encoding - 整型压缩库
Go-adaptive-radix-tree - Go 语言实现的自适应基数树
Go-datastructures - 一组有用的、高性能的、线程安全的数据结构
Go-geoindex - 基于内存存储的地理索引
Go-rquad - 区域四叉树,支持有效点位置和领域发现
Gods - Go 语言数据结构、容器、集合、列表、栈、键值对、 BidiMaps、树、HashSet 等
Golang-set - 线程安全和非线程安全的高性能集合
Goskiplist - Go 语言实现的跳跃表
Gota - 为go语言实现了数据帧,序列以及数据噪音的方法
hilbert - 用于映射空间填充曲线(例如希尔伯特曲线和皮亚诺曲线)和数值的库。
hyperloglog - HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
levenshtein - 编辑距离(levenshtein distance)和相似性度量, 可以自定义编辑代价和and Winkler-like bonus for common prefix.
levenshtein - Go 语言实现计算编辑距离
mafsa - Go 语言实现的 MA-FSA ,包含最小完美哈希
merkletree - 实现了梅克尔树,提供了一种高效、安全的数据结构内容验证方法
roaring - 实现了压缩 bitsets 的Go语言库
skiplist - Go语言实现的跳跃表
trie - Go语言实现的Trie树
ttlcache - In-memory LRU string-interface{} map with expiration for Golang
willf/bloom - 实现了布隆过滤器的库

golang用于进行配置解析的库

config - JSON 或 YAML 配置的封装,支持环境变量和标记解析
configure - 可以通过多种途径进行配置,包括 JSON, 标记位以及环境变量
env - 解析环境变量为 Go 语言结构体
envcfg - 解析环境变量为 Go 语言结构体
envconf - 通过环境变量来配置
envconfig - 通过环境变量读取配置
gcfg - 读取类 INI 类型的配置文件为 Go 语言结构体,支持自定义变量和节
GoConfig - 通过命令行的输入、环境变量、配置文件来初始化一个结构体兵将一个结构体解析为输入
Godotenv - Ruby 库 dotenv 的 Go 语言接口 (通过 .env 来获取环境变量)
Gofigure - 让 Go 语言应用程序配置变得简单
Gone/jconf - 模块化 JSON 配置工具。允许你将配置参数结构体和使用它的代码放在一起,而不需要让主配置文件了解所有子模块的细节来进行序列化
hjson - 人性化的 JSON,一个便于程序员使用和阅读的配置文件格式。更加轻松的语法,更少的错误和更多的注释
inGo - 将配置标记持久化到一个类似 ini 的文件中
ini - 用于读写INI 文件的库
joshbetz/config - 消息配置库,可以解析环境变量、JSON 文件并根据SIGHUP自动重新载入
mini -用于解析类 ini 文件的库
store - 轻量级配置管理
viper - 这个库名叫毒蛇 ,Go 语言配置工具
xdg -遵守 XDG 标准 的配置工具

golang认证和授权库

authboss - 用于 web 开发的组件化认证授权系统。它尝试尽可能的移除模板代码以及硬编码,这使你每次新建 web 项目的时候,可以做到即插即用、配置并开始开发你的 web 英语,而不必每次都重新创建一个认证授权系统。
casbin - 一个支持接入控制模型(例如:ACL,RBAC,ABAC)的授权库
Go-AWS-Auth - AWS 请求签名库
Go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web 签名以及JSON Web 加密 specs.
Go-oauth2-server - 使用 Go 语言编写的独立、符合标准的 OAuth2 服务器
Go.auth - 为 Go 语言 web 应用提供的授权 API.
Gologin - 可以串连使用OAuth1 和 OAuth2 认证服务
Gorbac - 一个用 Go 语言实现的轻量级RBAC
Goth - 提供了一种简洁的、惯用的方式来使用OAuth 和 OAuth2.
httpauth - HTTP 认证中间件
jwt - 简单易用的一个JSON Web Tokens (JWT)的实现
jwt-auth - JWT 为 Go 语言 HTTP 服务器编写的 jwt 中间件,有多种配置选项
jwt-Go - Go 语言实现的JSON Web Tokens (JWT).
loginsrv - JWT 登录微服务,可以继承OAuth2 (Github), htpasswd, osiam等后端。
oauth2 - Goauth2的继承者。 通用 OAuth 2.0 库,集成了对JWT, Google APIs, Compute Engine 和 App Engine的支持.
osin - Go 语言 OAuth2 服务器库
permissions2 - 用于追踪用户,登录状态和许可的库。使用安全 cookies 和 bcrypt.
session - Go 语言会话管理(支持 Google App Engine - GAE)
sessions - 为 Go 语言 HTTP 服务器开发的非常简单的、高性能的、高可定制的会话服务
traefik - 反向代理和负载均衡库,支持多种后端
yubiGo - Yubikey 客户端,提供了用于在 Go 语言应用中集成Yubico Yubikey 的 API

golang用于操作音频的库

flac - 原生 Go FLAC 解码器
flac - 原生 Go FLAC 解码器
gaad - 原生 Go AAC 比特流解析器
Go-sox - libsox 的 Go 语言接口
Go_mediainfo - libmediainfo 的 Go 语言接口
Gosamplerate - libsamplerate 的 Go 语言接口
id3v2 - 快速且稳定的 ID3 解析及写入库
mix - 基于序列的 Go 语言混音器,可用于音乐 app。
mp3 - 原生 Go MP3 解码器
music-theory - Go 语言编写的音乐理论模型
PortAudio - 音频 I/O 库的 Go 语言接口
portmidi - PortMidi 的 Go 语言接口
taglib - taglib 的 Go 语言接口
vorbis - "原生" Go Vorbis 解码器 (使用 CGo, 但是没有其他依赖).
waveform - 一个可以通过音频流生成波形图像的包

golang代码中嵌入其他语言的包

aGora - 一种动态类型的可以嵌入 Go 中的编程语言
anko - Go 语言编写的解释器
binder - Lua 接口, 基于 Gopher-lua
gisp - Simple LISP
Go-duktape - Duktape JavaScript 引擎的 Go 语言接口
Go-lua - Lua 5.2 虚拟机的纯 Go 语言接口
Go-php - PHP 的 Go 语言接口
Go-python - CPython C-API 的 Go 语言接口
Golua - Lua C API。的 Go 语言接口
Gopher-lua - Go 语言编写的 Lua 5.1 虚拟机和编译器
ngaro - 可嵌入的 Ngaro 虚拟机实现,支持在 Retro 中使用脚步
otto - Go 编写的 Javascrip 解释器
purl - 嵌入 Go 语言的 Perl 5.18.2

go日志库

glg - glg 是一个简单、快速、分级的日志库
glog - 分级记录日志的库
Go-cronowriter 对日志文件进行自动循环写入的库基于当前日期和时间,类似 cronolog.
Go-log - 支持多处理器及日志分级的库
Go-log - Go 语言实现的 Log4j
Go-logger - 支持日志分级的简单的日志工具
Gologger - 简单易用的日志库,可以在彩色控制台、简易控制的、文件或 Elasticsearch 中记录
Gomol - 支持多种输出,结构化的日志模块,可以扩展它的输出
Gone/log - 快速、可扩展、全功能、兼容标准库的日志库
log - 结构化日志库
log - 简单、可配置、可扩展的结构化日志库
log-voyage - 全功能日志saas 使用 Go 语言编写
log15 - 简单强大的日志库
logdump - 支持分级的日志库
logex - Go 语言日志库,支持追踪和分级,基于标准库进行了封装
logger - 一个极简的日志库
logrus - 支持结构化的日志工具.
logrusly - logrus 的插件,用于将错误发送到 Loggly.
logutils - 对 Go 语言标准日志工具进行了扩展,使其更好用
logxi - 十二要素 app 日志工具,非常快速,令你开心
lumberjack - 简单的循环日志工具,实现了 io.WriteCloser.
mlog - 一个简单的日志模块,可以分5级并有一个可选的循环日志文件记录功能,支持 stdout/stderr 输出.
ozzo-log - 高性能日志库,支持日志严重级别、分类及过滤。可以将过滤后的信息发送到不同的目的地(例如: 控制台、网络、邮箱).
seelog - 一个灵活的、解耦的、格式化的日志库
slf - 简单日志门面(The Structured Logging Facade (SLF) ) (类似 SLF4J,但是它是结构化的,并且专为 Go 语言设计)
slog - 为 Go 语言实现的结构化日志门面(Structured Logging Facade (SLF) )
spew - 为 Go 语言的数据结构实现了一个整洁的打印功能,有助于调试
stdlog - Stdlog 是一个面向对象的库,提供了分级日志功能,对于定时任务很有用.
tail - 这个 Go 语言软件包力争模拟 BSD tail 的功能
xlog - 插件架构以及灵活的日志系统,具有日志等级控制,多日志目标以及自定义日志格式功能
xlog - 结构化日志 for net/context aware HTTP handlers ,可以灵活的分发
zap - 快速的、结构化的、分级的日志库
zerolog - 零分配 JSON 日志.

golang操作表单的库

bind - 将表单数据绑定到任意的 Go 变量上
binding - 将来自 net/HTTP 请求的表单、JSON 数据绑定到结构体
conform - 检查用户输入并基于结构标签来清理数据
form - 解码 url 中的数据到 Go 语言变量中以及将 Go 语言变量编码进 url 支持Dual Array 及 Full map
formam - 将表单数据解码到结构体
forms - 框架无关的表单/JSON数据解析验证库,支持多部分表单及文件
Gorilla/csrf - 为 Go 语言 web 应用提供 CSRF 防御
nosurf - CSRF 防御中间件

Go实现消息系统的库

CentrifuGo - 实时消息服务器
dbus - D-Bus的 Go 语言接口
drone-line - 通过软件包,docker 或是 Drone CI来发送 Line 通知
emitter - 通过Go语言的方式发送事件消息,可以使用通配符,断言,取消发送等优秀特性
EventBus - 轻量级事件库,支持异步
gaurun-client - Go 语言编写的 Gaurun 客户端
Glue - 健壮的 Go 和 Javascript Socket 库 (可以用来替代 Socket.io).
Go-longpoll - 支持长轮询的发布与订阅
Go-notify - 原生实现的桌面通知规范
Go-nsq - NSQ 官方 Go 语言库
Go-socket.io - Go 语言的 socket.io库 ,一个实时应用框架.
Go-vitotrol - Viessmann Vitotrol 服务的 Go 语言客户端
Gollum - 一个 n:m 的多路复用器,从不同的源汇聚消息并向目标进行广播
Golongpoll - HTTP 长轮询服务器库,让 web 发布与订阅变的更简单.
Goose - Go 语言实现的服务器端事件发送
Gopush-cluster - Gopush-cluster 是一个 Go 语言实现的支持集群的comet服务(支持 websocket,和tcp协议)
Gorush - 通知推送服务器,使用 APNs2 和 Google GCM.
guble - 一个使用通知推送(Google Firebase Cloud Messaging, Apple Push Notification services, SMS)、websockets 、REST API 的消息服务器。提供了分布式操作和消息持久化特性
machinery - 异步任务队列,基于分布式消息处理
manGos - 纯 Go 语言实现的 Nanomsg ("Scalable Protocols")
melody - 用于处理 websocket 会话的一个极简框架,包括广播和自动 ping/pong 处理
NATS Go Client - 轻量级高性能发布订阅(publish-subscribe) 以及分布式消息队列系统,这个一个Go语言库.
nsq-event-bus - 针对 NSQ 的主题和频道进行了简单的封装
oplog - 原生的 oplog/replication 系统,用于 REST APIs
pubsub - 一个简单的 pubsub 软件包
RapidMQ - RapidMQ 是一个轻量级,可靠的本地消息队列管理库
sarama - 用于 Apache Kafka 的库
Uniqush-Push - 基于 Redis 的统一推服务,用于服务器端向移动客户端推送消息
zmq4 - ZeroMQ version 4的 GO 语言接口。也有适用于version 3 及 version 2的

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

arp - 实现了 ARP 协议,遵循 RFC 826.
buffstreams - 简单易用的 protocolbuffer 数据流,基于 TCP
canopus - CoAP 客户端/服务器实现 (RFC 7252)
dhcp6 - dhcp6 实现了一个DHCPv6 服务器,遵循RFC 3315.
dns - 用于处理 DNS 的 Go 语言库
ether - 跨平台 Go 语言库,用于发送和接收以太帧
ethernet - ethernet 实现了IEEE 802.3 Ethernet II 帧以及IEEE 802.1Q VLAN 标签的组装和剥离.
fasthttp - fasthttp 是一个快速的 HTTP 实现,是 net/http的10倍性能
ftp - ftp 实现了一个 FTP 客户端,遵循 RFC 959.
Go-getter - 一个用于通过 URL 从多种源下载文件或目录的 Go 语言库
Go-stun - Go 语言实现的 STUN 客户端 (RFC 3489 及 RFC 5389).
Gobgp - Go 语言实现的BGP
Golibwireshark - Golibwireshark 使用 libwireshark 库来解析 pcap 文件并且分析数据
Gopacket - 用于报文处理的库
Gopcap - libpcap的 Go 语言封装
Goshark - Goshark 使用 tshark 来对 IP 报文进行解码并创建数据结构用于分析报文
Gosnmp -用于执行 SNMP 操作的库
Gotcp - 用于快速编写 tcp 应用的库
grab - 管理文件下载的 Go 语言库
graval - 试验性的 FTP 服务器框架
jaziGo - JaziGo 是一个 Go 语言编写的工具,用于获取多种网络设备的配置.
kcp-Go - KCP - 快速可靠的 ARQ 协议.
kcptun - 超级简单、快速的 udp 通道,基于KCP 协议
lhttp - 强大的 websocket 框架,可以更简单的构建你自己的 IM 服务器*
linkio - 接口读写速度模拟器
llb - 一个非常简单但快速的后端代理服务器。对于快速重定向到预定义域名很有用,无内存分配,响应速度快
mdns - 简单的 mDNS (组播 DNS) 客户端/服务器库
mqttPaho - Paho 客户端提供了一个 MQTT 客户端库,用于通过TCP, TLS 或 WebSockets 和 MQTT broker 建立连接
portproxy - 简单的 TCP 代理,加入了对CORS 的支持
publicip - publicip 库会返回你的公网 ip 地址 (互联网出口).
raw - raw 允许你在设备驱动层读写网络接口的数据
sftp - sftp 实现了https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.中描述的 SSH 文件传输协议
ssh - 用于创建 SSH 服务器的高级 API (封装crypto/ssh).
sslb - 一个超简单的负载均衡库,仅仅是一个为了获取一些性能目标的小项目
tcp_server - 一个用于快速创建 tcp 服务器的库
utp - Go uTP 微传输协议的实现
water - 简单的 TUN/TAP 库
winrm - Go WinRM 客户端,用于在 Windows 设备上远程执行命令
xtcp - TCP 服务器框架,支持同时全双工通信。可以优雅的关闭,自定义协议

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

asn1 - Asn.1 BER 及 DER 编码库
colfer - 用于生成 Colfer 二进制格式代码
Go-capnproto - Go 语言用的 Cap'n Proto 库及解析器
bambam - 用于 Go 语言生成 Cap'n Proto schemas 的生成器
Go-codec - 高性能、多功能、规范化编码解码以及 rpc 库, 用于 msgpack, cbor 和 json,支持基于运行时的 OR 码生成
GoGoprotobuf - Go 语言的 Protocol Buffer 库
Goprotobuf - 通过库和协议编译器插件使 Go 语言支持 Google的 protocol buffers.
jsoniter -高性能,100% 兼容的"encoding/json" 替代品
mapstructure - 用于对原生键值对进行解码生成 Go 语言结构体
php_session_decoder - 用于协同 PHP session 格式数据和 PHP 序列化/反序列化函数工作的go语言库
structomap - 用于从静态结构体简单、动态的生成键值对的库

golang用于生成测试数据的库.

assert - 基础断言库,用于对 Go 语言程序进行测试,提供了一些用于自定义断言的代码块
badio - Go 语言 testing/iotest 包的扩展
baloo - 表达性强、多功能的、端到端的HTTP API 测试工具
bro - 监控目录中的文件并对其进行测试
dbcleaner - 清空数据库用于测试,受到database_cleaner 的启发
dsunit - 数据库测试,针对 SQL、 NoSQL、 结构化文件.
frisby - REST API 测试框架
ginkGo - BDD 测试框架
Go-carpet - 用于在终端中查看测试覆盖率的工具
Go-mutesting - Go 语言源代码突变测试(Mutation testing )
Go-vcr - 记录并重放 HTTP 交互,用于快速的、确定性的、准确的测试
Goblin - 类似 Mocha 的测试框架
Gocheck - 更加高级的测试框架,用于替换 Gotest.
GoConvey - BDD 风格的测试框架,具有 web 界面和计时刷新功能
Godog - 类似 Cucumber 或 Behat 的 BDD 框架
Gofight - 对 Go 语言的路由框架进行 API 测试
Gomega - 类似 Rspec 的 matcher/assertion 库
GoSpec - BDD 风格的测试框架
Gospecify - 支持 BDD 语法 。对于任何使用过 rspec 等库的人来说应该非常熟悉
Gosuite - 轻量级测试套,为 Go1.7's Subtests 带来了setup/teardown 功能
Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
httpexpect - 简洁的、声明式的、易用的端到端HTTP 及 REST API 测试
restit - 帮助编写 RESTful API 集成测试的 Go 语言微型框架.
testfixtures - 类似 Rails 的测试工具,用于测试数据库应用
Testify - 对标准测试包的扩展
wstest - Websocket 客户端,用于对于 websocket HTTP.Handler 进行单元测试

go用于访问第三方 APIs 的库

amazon-product-advertising-api - Amazon Product Advertising API 的 go 语言客户端
anaconda - Twitter 1.1 API 的 go 语言客户端
aws-sdk-Go - AWS 提供的官方go语言 SDK
brewerydb - 用于访问 BreweryDB API的 Go 语言库
cachet - Cachet (open source status page system)的 Go 语言客户端
circleci - 用于和 with CircleCI's API 进行交互的 Go 语言客户端
clarifai - 用语和 Clarifai API 交互的 Go 语言库
discordGo - Discord Chat API 的 Go 语言接口
facebook - 支持 Facebook Graph API 的库
fcm - Firebase Cloud Messaging 的 Go 语言库
gads - Google Adwords 非官方 API
gami - Asterisk Manager Interface 的 Go 语言库
gcm - Google Cloud Messaging 库
geo-Golang - 用于与 Google Maps, MapQuest, Nominatim, OpenCage, HERE, Bing, Mapbox, 及 OpenStreetMap 地理编码 / 反编码 APIs 交互的库
ghost - 用于和 Snapchat API 交互的库
github - 用于和 GitHub REST API v3 交互的库
githubql - 用于和GitHub GraphQL API v4 交互的库
Go-imgur - imgur 的 Go 语言客户端
Go-jira - Atlassian JIRA 的 Go 语言客户端
Go-marathon - 用于和 Mesosphere's Marathon PAAS 交互的 Go 语言库
Go-myanimelist - 用于和 MyAnimeList API交互的库
Go-telegraph - Telegraph 发布平台 API 客户端
Go-tgbot - 纯 Go 语言的Telegram 机器人 API 封装,通过 swagger 文件,基会话的路由和中间件
Go-trending - 用于获取 Github 上面 当前流行的代码库 及 开发者
Go-twitch - 用于和推特v3 API 进行交互的 Go 语言客户端
Go-twitter - 用于和推特v1.1 API 进行交互的 Go 语言客户端
Go-unsplash - Unsplash.com API 的 Go 语言客户端
Go-xkcd - xkcd API 的 Go 语言客户端
Goamz - Goamz 的一个fork分支,添加了一些缺失的 API,用于调用特定的软件包。
Golyrics - Golyrics 是一个 Go 语言库,用于从 Wikia 上获取歌词
GoMusicBrainz - Go MusicBrainz WS2 客户端
Google - 为go语言自动生成 Google api
Google-analytics - Google 分析报告的一个简单的封装
Google-cloud - Google Cloud APIs Go 语言客户端库
Google-email-audit-api - Google G Suite Email Audit API的 Go 语言客户端库
Gostorm - GoStorm 是一个 Go 语言库,实现了在 Go 语言里面编写 Spout 和 Bolt 的协议,用于和 Storm shells 进行通信
Govkbot - 简单的 Go VK 机器人库
hipchat - 这个项目实行了Hipchat API 的 Go 语言客户端
hipchat (xmpp) - 通过使用 XMPP 与 HipChat 进行通信的库
Medium - Medium OAuth2 API 的 sdk
meGos - 用于访问 Apache Mesos 集群的客户端
micha - 用于Telegram bot api的go语言库
minio-Go - go 语言 Minio 客户端,用于 Amazon S3 兼容的云存储
mixpanel - Mixpanel 是一个用于追踪事件并发送 Mixpanel profile 的更新到 Mixpanel 的库
patreon-Go - Patreon API.
paypal - PayPal 支付 API
playlyfe - Playlyfe Rest API 的 Go 语言 SDK
pushover - Pushover API 的 Go 语言封装
rrdaclient - 用于接入 statdns.com API 的库——RRDA API。通过HTTP协议进行 DNS查询
shopify - 一个用于通过 Shopify API 进行增删改查的 Go 语言库
slack - Slack API
smite - 对 Smite game API 的封装
spotify - 用于接入 Spotify WEB API 的 Go 语言库
steam - 用于与Steam服务器进行交互的库
stripe - Stripe API 的 Go 语言客户端
tbot - Telegram bot 服务器,有类似 net/http 的 api
telebot - go语言编写的 Telegram bot 框架
telegram-bot-api - 简洁的 Telegram bot 客户端.
textbelt - textbelt.com txt messaging API 的go语言客户端
TheMovieDb - 用于和 themoviedb.org 通信的一个简单的 Go 语言软件包
translate - Go 在线翻译包
Trello - Trello API的 Go 语言封装
tumblr - Tumblr v2 API 的 Go 语言封装
webhooks - GitHub 和 Bitbucket 的Webhook接收器
zooz - Zooz API 的 Go 语言客户端

golang的web框架

aah - 可扩展、高性能、快速发布的 Go 语言 web 框架
Air - 理想的 RESTful web 框架
BeeGo - beeGo 是一个开源的、高性能的 Go 语言 web 框架
Buffalo - 为 Go 语言带来堪比 Rails 的高生产效率
Echo - 高性能、极简的 Go 语言 web 框架
Fireball - 感觉更加自然的 web 框架
Florest - 高性能的、基于工作流的 REST API 框架
Gem - 简单快速的 web 框架,对 REST API 很友好
Gin - Gin 是一个 Go 语言编写的 web 框架!提供了一组类似 martini 的 API ,具有更好的性能(40倍)。如果你需要高性能和高生产率,这个框架很适合你
Gizmo - 纽约时报正在使用对微服务工具集
Go-json-rest - 快速、简单的创建 RESTful JSON API.
Go-relax - 具有可插拔组建的框架,用于构建 RESTful API's.
Go-rest - Go 语言 REST 框架中的小恶魔
Goa - 用于开发微服务的框架,基于 Ruby 的 Praxis 的设计
Goat - 极简的 REST API 服务器
Golf - Golf 是一个快速、简单、轻量级的 Go 语言微型 web 框架。具有强大的功能且没有标准库以外的依赖
Gondola - 用于快速编写高性能网站的框架
Gongular - 快速 Go web 框架,支持输入映射/验证以及依赖注入
Macaron - Macaron 是一个高效的模块化设计的web框架
manGo - ManGo 是一个模块化 web 应用框架,受到 Rack 和 PEP333 的启发
Microservice - 用于创建微服务的框架,使用 Go 语言编写
neo - 是一个极小且快速的 Go 语言 web 框架,具有及其简单的 API
Resoursea - 用于快速编写基于资源对服务的 REST 框架
REST Layer - 用于构建在数据库之上构建 REST/GraphQL API 且大多数配置都可以通过代码完成
Revel - go语言高生产率框架
rex - Rex 是一个用于进行模块化开发的库,基于Gorilla/mux 完全兼容大多数的 net/HTTP.
sawsij - 轻量级、开源的 web 框架,用于构建高性能、数据驱动的web应用
tanGo - 微型的、支持插件的 web 框架
tigertonic - 用于构建 JSON web 服务的 Go 语言框架,受到 Dropwizard 的启发
traffic - 受到 Sinatra 启发的 Go 语言 web 框架
utron - 轻量级的go语言 MVC 框架
violetear - Go HTTP 路由库
YARF - 快速的微型框架,用于快速、简单地构建 REST APIs 以及 web 服务
Zerver - Zerver 是一个富有表达力的、模块化的、全功能的 RESTful 框架.

golang用于创建 HTTP 中间件的库

alice - 用于连接中间件的库,简单无痛苦
catena - HTTP.Handler wrapper catenation (和chain具有相同的 API ).
chain - Handler wrapper chaining with scoped data (net/context-based "middleware").
Go-wrap - 小型中间件库,用于net/HTTP.
Gores - 用于处理 HTML, JSON, XML 等。对于 RESTful APIs 很有用。
interpose - 极简的 net/HTTP 中间件
muxchain - 用于net/HTTP的轻量级中间件
negroni - 符合语言习惯的 HTTP 中间件库
render - 用于轻松渲染 JSON, XML, 及 HTML 模板响应的库
rye - 小型 Go 语言中间件库 ,支持 JWT, CORS, Statsd, 及 Go 1.7 context
stats - Go 语言中间件,用于存储web应用的多种信息
Volatile - 极简的go语言中间件技术栈,强调灵活性、优秀实践及简洁代码

golang代码分析

apicompat - 检测一个go语言项目最近的变化,用于监测不能向后兼容的改动
dupl - 用于检测重复代码的工具
errcheck - Errcheck 是一个用于检测go语言程序中未处理错误的程序
gcvis - 实时地将 Go 语言垃圾回收进行可视化
Go Metalinter - Metalinter 会自动应用全部的静态分析工具,并生成形式一致的分析报告
Go-checkstyle checkstyle是一个代码风格检查工具,类似 java checkstyle 。这个工具就是受到 java checkstyle 和 Golint 的启发
Go-cleanarch - Go-cleanarch 用于检查代码是否符合简洁架构的相关法则,比如依赖法则以及你的Go语言项目中各个库的交互情况
Go-outdated - 这是一个命令行程序,用于显示过时的库
Goast-viewer - 基于 Web 的 Golang AST 可视化工具.
GoCover.io - GoCover.io 可以查看任何go语言软件包的代码覆盖率
Goimports - 用于自动修复,添加,删除你的 Go 语言项目的 import
GoLint - Golint 是一个针对 Go 语言源码的 lint 工具
Golint online - 使用golint对GitHub, Bitbucket 以及 Google Project Hosting上面的 Go 语言源文件进行静态分析
Goreturns - 添加零值 return 语句以符合函数返回值类型
Gosimple - Gosimple 是一个针对 Go 语言的lint工具,专注于简化代码
Gostatus - 命令行工具,查看当前 Go 语言软件包仓库的状态
interfacer - 可以提供接口类型建议的 Lint 工具
lint - 将lint作为go语言测试的一部分来执行
staticcheck - staticcheck is Go vet on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.
unconvert - 从go语言代码中移除不必要的类型转换
unused - unused 会检查 Go 语言代码中没有用到的常量,变量,函数和类型
validate - 自动验证结构体类型

golang机器学习库

bayesian - 贝叶斯分类器
CloudForest - 纯 Go 语言编写的快速、灵活、多线程决策树
gaGo - 多种群,灵活的,并行的遗传算法
Go-fann - 快速人工神经网络库(FANN)的 Go 语言借口.
Go-galib - Go 语言编写的遗传算法库
Go-pr - Go 语言模式识别库
Gobrain - Go 语言编写的神经网络
Godist - 多种概率分布及相关方法
Goga - Go 语言遗传算法库
GoLearn - Go 语言通用机器学习库
Golinear - liblinear 库的 Go 语言接口
Goml - 即时go语言机器学习库
GoRecommend - Go 语言推荐算法库
GorGonia - 基于图的计算库,类似于 Theano。提供了一些原型用于构建各种个样的机器学习和神经网络算法
libsvm - libsvm 的 Go 语言版本,基于 LIBSVM 3.14.
mlGo - 这个项目点目标是在 Go 语言中提供极简的机器学习算法
neat - 即插即用的并行 Go 语言框架,用于增强拓扑神经网络 (NEAT).
neural-Go - Go 语言实现的多层感知神经网络,通过反向传播算法进行训练.
probab -概率分布函数、贝叶斯推理。使用纯 Go 语言编写
reGommend - 推荐系统及协同过滤引擎
shield - 贝叶斯文吧分类器,包含灵活的分词器和存储后端

推荐阅读更多精彩内容