一些常用的函数集合
如果你遇到了类似的问题但在这里没有找到, 欢迎提交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加密Sha256
Sha512
Crc32
数组操作. 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
中标识