Go语言

Go常用资源列表(持续更新)

2022-03-20  本文已影响0人  潘晓华Michael
GO 资源列表

Awesome go 最全资源列表
Awesome go 中文版
以下是项目中使用到的部分package。

网络

mux
实现了请求路由器和调度程序,用于将传入请求与其各自的处理程序匹配。例如统一HTTP与RPC服务入口。

数据库

db migrate
支持常见的数据库升级与降级
redis
elasticsearch cli
gorm
GORM 是 Go 语言的 ORM 包,功能强大,调用方便。

模板引擎

pongo2
非预编译,类django特性的引擎,简单易用
hero
预编译模板引擎,性能更好

监控

Prometheus Client
开发exporter

日志

Uber zap
对性能和内存做了极致的优化

命令工具

Cobra
kubectl使用Cobra开发命令行工具
Kingpin
go-flags
cli
goctl工具使用是这个命令行工具

单元测试

Mock testify/mock
可用来Mock Http请求
Sql mock driver
可以用来模拟数据库连接。数据库是项目中比较常见的依赖,在遇到数据库依赖时都可以用它。
Testify
测试断言包
Automatically generate Go test boilerplate from your source code
自动生成测试用例
Go testing in the browser
GoConvey 是一款针对 Golang 的测试框架,可以管理和运行测试用例,同时提供了丰富的断言函数,并支持很多 Web 界面特性。

go自带代码测试覆盖率分析工具

$ go test -coverprofile=coverage.out
$ go tool cover -func=coverage.out
$ go tool cover -html=coverage.out -o coverage.html

工具集

go yaml
uuid
uuid的创建与解析
backoff
重试工具,支持指数退避算法
Kubernetes client
aws client
text/tabwriter go自带输出对齐
goquery
类似jquery解析html dom
bindata
将静态文件转为GO文件
cookiecutter
项目初始化生成,可按照生产最佳实践快速启动各种项目

分布式作业系统

Dkron - Distributed, fault tolerant job scheduling system https://dkron.io
dkron 是一个分布式、启动迅速、带容错机制的定时作业系统,支持 crontab 表达式。它具有下面这些核心特性。

ouqiang/gocron: 定时任务管理系统
gocron 是国人开发的轻量级定时任务集中调度和管理系统, 用于替代 Linux-crontab。它具有下面这些核心特性。

robfig/cron: a cron library for go (github.com)
一个可以实现类似 Linux crontab 定时任务的 cron 包,支持到秒

微服务框架

go-kit/kit: 微服务标准库: 应用Go kit
go-zero: 云原生生产级别微服务框架

上一篇下一篇

猜你喜欢

热点阅读