Go语言基础库





        

--- #### 工程目录说明 ``` pkg/ ...... 源码包 |-- bininfo/ ...... 将编译时源码的 git 版本信息(当前 commit log 的 sha 值和 commit message),编译时间,Go 版本,平台打入程序中 |-- snowflake/ ...... 分布式唯一性 ID 生成器 |-- bitrate/ ...... 计算带宽 |-- consistenthash/ ...... 一致性哈希 |-- nazalog/ ...... 日志库 |-- slicebytepool/ ...... []byte 内存池 |-- assert/ ...... 提供了单元测试时的断言功能,减少一些模板代码 |-- nazastring/ ...... string 和 []byte 相关的操作 |-- bele/ ...... 提供了大小端的转换操作 |-- nazaatomic/ ...... 原子操作 |-- nazajson/ ...... json 操作 |-- taskpool/ ...... 协程池 |-- connection/ ...... 对 net.Conn 接口的二次封装 |-- filebatch/ ...... 文件批处理操作 |-- nazamd5/ ...... md5 操作 |-- ratelimit/ ...... 限流器,令牌桶 |-- ic/ ...... 将整型切片压缩成二进制字节切片 |-- unique/ ...... 对象唯一 ID |-- fake/ ...... stub和mock相关,实现一些常用的接口,辅助测试其它代码 playground/ ...... Go实验代码片段 demo/ ...... 示例相关的代码 bin/ ...... 可执行文件编译输出目录 ``` #### 依赖 无任何第三方依赖 #### 项目名 naza 由来 本仓库主要用于存放我自己写的一些 Go 基础库代码。目前主要服务于我的另一个项目: [lal](https:////github.com/q191201771/lal) naza 即哪吒(正确拼音为 nezha,我女儿发音读作 naza,少一个字母,挺好~),希望本仓库以后能像三头六臂,有多种武器的哪吒一样,为我提供一个趁手的工具箱。 #### 相关文档 * pkg/snowflake [分布式ID生成算法snowflake介绍及Go语言实现](https://pengrl.com/p/20041/) * pkg/bininfo [给Go程序加入编译版本时间等信息](https://pengrl.com/p/37397/) * pkg/nazastring [Go语言中[]byte和string类型相互转换时的性能分析和优化](https://www.pengrl.com/p/31544/) * [Go创建对象时,如何优雅的传递初始化参数](https://pengrl.com/p/60015/) * playground/p3 [利用CPU cache特性优化Go程序](https://pengrl.com/p/9125/) * playground/p4 [老弟在吗,我的Go标准库中的二分查找有bug!](https://pengrl.com/p/20011/) #### 联系我 欢迎扫码加我微信,进行技术交流或扯淡。