Go develop commonly used component library package.
Go version >= 1.16.15
.
├── chanlock chan实现trylock乐观锁
├── crypto 常见的md5,sha1,sha1file,aes/des,ecb,openssl_encrypt实现
├── def 为兼容php其他语言而定义的空数组,空对象
├── goredis 基于go-redis/redis封装的redis客户端使用函数(支持cluster集群)
├── gpprof pprof性能分析监控封装
├── grecover golang panic/recover捕获堆栈信息实现
├── gredigo 基于redigo封装而成的go redis辅助函数,方便快速接入redis操作
├── gresty go http client support get,post,delete,patch,put,head,file method
├── gtime time相关的一些辅助函数
├── gutils file,num,str字符串相关的一些辅助函数,比如Uuid,HTMLSpecialchars,Uniqid等php函数实现
├── gxorm golang xorm客户端简单封装,方便使用
├── jsontime fix gorm/xorm time.Time json encode/decode bug
├── logger 基于zap日志库进行一些必要的优化的日志库
├── monitor 基于prometheus二次开发、封装的一些函数,主要用于http/job/grpc服务性能监控
├── mutexlock 基于sync.Mutex基础上拓展的乐观锁
├── mysql 基于go gorm库封装而成的mysql客户端的一些辅助函数
├── mytest tigago 一些单元测试
├── redislock 基于redigo实现的redis+lua分布式锁实现
├── runner runner用于按照顺序,执行程序任务操作,可作为cron作业或定时任务
├── setting 通过viper+fsnotify实现配置文件读取,支持配置热更新
├── wrapper 对waitgroup/chan进行包装,提供轻松使用和安全使用wrapper等待一组协程执行完毕
├── work 利用无缓冲chan创建goroutine池来控制一组task的执行
├── workpool workpool工作池实现,对于百万级并发的一些场景特别适用
├── xerrors 自定义错误类型,一般用在api/微服务等业务逻辑中,处理错误
├── xsort 基于sort标准库封装的sort操作函数
└── yamlconf 基于yaml+reflect实现yaml文件的读取,一般用在web/job/rpc应用中
golang1.11+版本,可采用go mod机制管理包,需设置goproxy
go version >= 1.13
设置goproxy代理
vim ~/.bashrc添加如下内容:
export GOPROXY=https://goproxy.cn,direct
让bashrc生效
source ~/.bashrc
$ go test -v
997: b75567dc6f88412d55576e4b09127d3f
998: c3923160f2304849734c0907083f7f65
999: 8b7a6dce56d346b567c65b3493285831
--- PASS: TestUuid (0.05s)
uuid_test.go:13: 测试uuid
PASS
ok github.com/daheige/tigago/mytest 15.841s
MIT