pkg/ ...... 源码包
|-- bininfo/ ...... 将编译时源码的git版本信息(当前commit log的sha值和commit message),编译时间,Go版本,平台打入程序中
|-- log/ ...... 日志库
|-- assert/ ...... 提供了单元测试时的断言功能,减少一些模板代码
|-- nazaerrors/ ...... error相关
|-- fake/ ...... 实现一些常用的接口,hook一些不方便测试的代码
|-- taskpool/ ...... 非阻塞协程池,协程数量可动态增长,可配置最大协程并发数量,可手动释放空闲的协程
|-- defertaskthread ...... 执行延时任务
|-- bele/ ...... 大小端转换操作
|-- nazabits/ ...... 位操作
|-- bitrate/ ...... 计算带宽
|-- ratelimit/ ...... 限流器,令牌桶,漏桶
|-- connection/ ...... 对net.Conn接口的二次封装
|-- nazanet/ ...... socket操作相关
|-- nazahttp/ ...... http操作
|-- circularqueue ...... 底层基于切片实现的固定容量大小的FIFO的环形队列
|-- lru/ ...... LRU缓存
|-- consistenthash/ ...... 一致性哈希
|-- nazajson/ ...... json操作
|-- nazamd5/ ...... md5操作
|-- nazaatomic/ ...... 原子操作
|-- slicebytepool/ ...... []byte内存池
|-- nazastring/ ...... string和[]byte相关的操作
|-- unique/ ...... 对象唯一ID
|-- snowflake/ ...... 分布式唯一性ID生成器
|-- nazareflect/ ...... 利用反射做的一些操作
|-- filebatch/ ...... 文件批处理操作
|-- ic/ ...... 将整型切片压缩成二进制字节切片
playground/ ...... Go实验代码片段
demo/ ...... 示例相关的代码
bin/ ...... 可执行文件编译输出目录
无任何第三方依赖
-
pkg/snowflake 分布式 ID 生成算法 snowflake 介绍及 Go 语言实现
-
pkg/bininfo 给 Go 程序加入编译版本时间等信息
-
pkg/nazastring Go 语言中[]byte 和 string 类型相互转换时的性能分析和优化
-
playground/p3 利用 CPU cache 特性优化 Go 程序
-
playground/p4 老弟在吗,我的 Go 标准库中的二分查找有 bug!
欢迎扫码加我微信,进行技术交流或扯淡。
本仓库主要用于存放我自己写的一些 Go 基础库代码。目前主要服务于我的另一个项目: lal
naza 即哪吒(正确拼音为 nezha,我女儿发音读作 naza,少一个字母,挺好~),希望本仓库以后能像三头六臂,有多种武器的哪吒一样,为我提供一个趁手的工具箱。