寻找Go堆栈备忘录

HTTP服务器

路由器

gorilla/mux是一个强大的Go语言URL路由器和分发器。你可以在https://github.com/gorilla/mux找到它。

经典。轻薄。

go-chi/chi是用于构建Go HTTP服务的轻量级、惯用的和可组合的路由器。
https://github.com/go-chi/chi

薄得多。比起Gorilla/Mux,API更加直观。

JSON请求

由于尺寸小,很多人似乎喜欢自己写。

以下列出的是精简的实现。

在Github上查看go-chi/render库的decoder.go文件。

呈现

展开/渲染:用于轻松渲染JSON、XML、二进制数据和HTML模板响应的Go程序包。
https://github.com/unrolled/render

颇受欢迎

工作队列

RichardKnop/machinery: Machinery是一个基于分布式消息传递的异步任务队列/作业队列。

经纪人和存储后端均支持多种选项(例如 AMQP、Redis、SQS、GCP Pub/Sub、Memcache、MongoDB),并且还支持延迟和重试功能。

gocraft/work是一个用Go语言处理后台作业的项目。

https://github.com/gocraft/work

Redis作为后端。也支持延迟。

关系型数据库管理系统 (RDBMS)

jinzhu/gorm:一个令人惊喜的Golang ORM库,旨在提供友好的开发体验。
https://github.com/jinzhu/gorm

热门。ORM。

go-gorp/gorp:Go关系持久化 – 一个用于Go的类ORM库
https://github.com/go-gorp/gorp

一句话描述SQL查询和结构映射都是通过使用自己编写的SQL语句来实现的,这样可以更好地控制查询操作。

发展

oxequa/realize: Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.
https://github.com/oxequa/realize

当使用go mod和cmd目录下存在main文件时,可能会出现无法解决相对模块的错误(条件可能不完全正确),但通过以下设置可以暂时解决。

在 Go 1.11 的模块中,无法使用 Realize – Qiita

其他

rakyll/statik: 将文件嵌入到 Go 可执行文件中
https://github.com/rakyll/statik

广告
将在 10 秒后关闭
bannerAds