一些常用的函数集合
如果你遇到了类似的问题但在这里没有找到, 欢迎提交issue或PR, PR请提交到dev分支.
安装: go get github.com/hujingnb/go-utils
可在godoc中找到相关文档.
字符串相关操作. Example
导入: import "github.com/hujingnb/go-utils/hstring"
方法:
Reverse: 字符串反转CamelToSnake: 驼峰转下划线SnakeToCamel: 下划线转驼峰ToString: 将变量转为字符串Pad: 将字符串填充到指定长度Join: 用字符串拼接数组元素
哈希函数. Example
导入: import "github.com/hujingnb/go-utils/hhash"
方法:
Md5By32: 获取32位 md5值Md5By16: 获取16位 md5值Sha1: sha1加密Sha256Sha512Crc32
数组操作. Example
导入: import "github.com/hujingnb/go-utils/harray"
方法:
Chunk: 将数组分割成多个Shuffle: 随机打乱数组顺序InArray: 检查元素是否在数组中IndexOf: 获取元素在数组中首次出现的索引Unique: 数组去重Equal: 判断两数组是否相等EqualIgnoreOrder: 判断两数组是否相等, 无视顺序Intersect: 取数组交集Diff: 取数组差集BinarySearch: 二分查找GetSureRandArr: 使用相同的种子生成相同随机数组Count: 统计数组中的元素数量Reverse: 反转数组- 排序操作:
SortBubble: 冒泡排序SortInsert: 插入排序SortSelect: 选择排序SortQuick: 快排SortMerge: 归并排序
NewTopList: 维护一个 top n 的列表
map 操作. Example
导入: import "github.com/hujingnb/go-utils/hmap"
方法:
IterateByOrder: 字典序遍历 mapEqual: 比较两 map 是否相等
结构体操作. Example
导入: import "github.com/hujingnb/go-utils/hstruck"
方法:
ToMap: 转 mapName: 获取结构体的名称
数字操作. Example
导入: import "github.com/hujingnb/go-utils/hnumber"
方法:
HexInput: 按指定进制读取字符串HexOutput: 将数字转为目标进制RandRange: 指定范围随机一个整数
系统级操作. Example
导入: import "github.com/hujingnb/go-utils/hsystem"
方法:
PrintOutAndErrToFile: 将标准输出和错误输出写入到文件
一些公共方法. Example
导入: import "github.com/hujingnb/go-utils/hcommon"
方法:
Copy: 对任意类型变量进行深度复制GetContextKeys: 获取 context 中的所有 keyCopyContextValue: 复制 context 中所有 KVReadChannelList: 从 channel 列表中获取一个值
- 请求每次修改之后, 运行所有测试用例. 命令:
go test ./... - 所有方法都要有对应的测试用例
- 所有方法都要在
example_test.go文件中给出示例 - 所有对外访问的方法, 都要在
README中标识