/naza

🍀 Go basic library. || Go语言基础库。包含日志,内存池,断言,位操作,string,字节切片,一致性哈希,版本信息,大小端,原子操作,json,协程池,整型数组压缩,限速器,令牌桶,漏桶,带宽计算,网络连接对象,文件批处理,对象唯一ID,分布式ID,md5,mock,stub等内容。

Primary LanguageGoMIT LicenseMIT


Go语言基础库





        


工程目录说明

pkg/                    ...... 源码包
    |-- bininfo/        ...... 将编译时源码的git版本信息(当前commit log的sha值和commit message),编译时间,Go版本,平台打入程序中
    |-- nazalog/        ...... 日志库
    |-- taskpool/       ...... 非阻塞协程池,协程数量可动态增长,可配置最大协程并发数量,可手动释放空闲的协程
    |-- bele/           ...... 大小端转换操作
    |-- nazabits/       ...... 位操作
    |-- nazaatomic/     ...... 原子操作
    |-- snowflake/      ...... 分布式唯一性ID生成器
    |-- bitrate/        ...... 计算带宽
    |-- consistenthash/ ...... 一致性哈希
    |-- slicebytepool/  ...... []byte内存池
    |-- assert/         ...... 提供了单元测试时的断言功能,减少一些模板代码
    |-- nazastring/     ...... string和[]byte相关的操作
    |-- ratelimit/      ...... 限流器,令牌桶,漏桶
    |-- nazajson/       ...... json操作
    |-- fake/           ...... stub和mock相关,实现一些常用的接口,辅助测试其它代码
    |-- filebatch/      ...... 文件批处理操作
    |-- nazamd5/        ...... md5操作
    |-- nazahttp/       ...... http操作
    |-- connection/     ...... 对net.Conn接口的二次封装
    |-- ic/             ...... 将整型切片压缩成二进制字节切片
    |-- unique/         ...... 对象唯一ID
playground/             ...... Go实验代码片段
demo/                   ...... 示例相关的代码
bin/                    ...... 可执行文件编译输出目录

依赖

无任何第三方依赖

相关文档

联系我

欢迎扫码加我微信,进行技术交流或扯淡。

项目名 naza 由来

本仓库主要用于存放我自己写的一些 Go 基础库代码。目前主要服务于我的另一个项目: lal

naza 即哪吒(正确拼音为 nezha,我女儿发音读作 naza,少一个字母,挺好~),希望本仓库以后能像三头六臂,有多种武器的哪吒一样,为我提供一个趁手的工具箱。