目录
  • golang用于创建和发送电子邮件的库
  • golang处理日期和时间的库
  • 数据库迁移
  • go语言实现的数据库
  • golang通用数据结构及算法
  • golang用于进行配置解析的库
  • golang认证和授权库
  • golang用于操作音频的库
  • golang代码中嵌入其他语言的包
  • go日志库
  • golang操作表单的库
  • go实现消息系统的库

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开发库的集合及作用说明的详细内容,更多关于golang库集合及说明的资料请关注www.887551.com其它相关文章!