# README
common-go
公共库
基于 gin 框架内置了一些常用方法 如:
1.mysql数据库链接初始化,数据表转结构体
2.redis链接初始化,数据写入缓存,读取缓存,删除缓存,给key自增缓存,hash缓存等
3.公共方法:
json返回,日志记录,
根据指定格式返回日期,
模拟php mb_substr字符串截取函数, 模拟php in_array 元素是否在数组中,
sha1函数,sha256函数,md5函数,
map排序,结构体转map,结构体转json,map与json互转,interface转int,
获取随机字符串,获取随机数, post请求,
创建目录,创建文件并写入内容,判断文件夹文件是否存在等
# Functions
AESCBCDecrypt CBC模式下AES算法对密文的解密 请注意,密钥长度必须为16、24或32字节才能选择AES-128、AES-192或AES-256 请注意,AES块大小为16字节.
AESCBCEncrypt CBC模式下用AES算法加密数据 请注意,密钥长度必须为16、24或32字节才能选择AES-128、AES-192或AES-256 请注意,AES块大小为16字节.
Base64AESCBCDecrypt CBC模式下用AES算法解密base64编码的密文 php对应代码 openssl_decrypt(base64_decode($p), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); 请注意,密钥长度必须为16、24或32字节才能选择AES-128、AES-192或AES-256 请注意,AES块大小为16字节,iv必须为16位.
Base64AESCBCEncrypt 在CBC模式下使用AES算法对数据进行加密,并使用base64进行编码 php对应代码 base64_encode(openssl_encrypt($p, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv)); 请注意,密钥长度必须为16、24或32字节才能选择AES-128、AES-192或AES-256 请注意,AES块大小为16字节,iv必须为16位.
字符串转为大驼峰.
DBTablesToStructs 数据库-数据表转结构体输出 tables []string{"table_name"} 有填写path则新增path目录.
GetDate 获取当前日期.
GetDateByLayout 获取当前日期.
GetInterfaceToInt interface转int.
GetRandInt 获取随机数.
GetRandString 获取随机字符串.
InArray 根据need类型,判断need是否包含在haystack中 数组包含.
No description provided by the author
InitialToCapital 首字母转大写.
No description provided by the author
JSON 普通返回不记录日志.
JSONMsg 信息返回并记录日志.
JsonStrToMap json字符串转map.
JSONStruct 结构体返回并记录日志.
KSortMapSs map排序.
Logger 公共实例化log方法.
LogMap map日志.
LogMsg 信息日志.
LogStruct 结构体日志.
MapToJsonStr map转json字符串.
MbSubstr 模拟PHP mb_substr 字符串截取函数支持utf8编码.
Md5 生成32位md5字串.
MkFile 创建文件并写入内容 path 文件路径 info 文件内容 返回 是否创建成功.
MkPath 创建路径 path 路径 当前路径下创建 返回 是否创建成功.
判定文件夹或文件是否存在.
PKCS7Padding 将明文填充为块长度的整数倍.
PKCS7UnPadding 从明文尾部删除填充数据.
Post 发送post请求url 请求地址data 请求参数header 请求头 map[string]string{"Content-Type": "application/json;charset=utf-8"}.
RedisDel 删除key缓存.
RedisGet 获取key缓存value.
RedisGetInt 获取key缓存值 int类型.
RedisHDel 删除hash表指定key1名.
RedisHExists 判断hash表中key是否存在.
RedisHGet 获取hash表指定key1的value.
RedisHGetAll 获取hash表所有值.
RedisHKeys 获取hash表所有key值.
RedisHLen 获取hash表长度.
RedisHMGet 获取hash表指定keys的值.
RedisHMSet 设置hash表指定key-value键值对.
RedisHSet 设置hash表指定key的value.
RedisHSetNX 设置hash表指定key-value键值对,如果key存在则忽略.
RedisHVals 获取hash表所有value值.
RedisIncrBy redis 给当前key自增val.
RedisLIndex 获取列表指定索引的元素.
RedisLInsertAfter 插入元素到列表中 当标志位不存在时,插入值失败 在元素后插入元素:value(当插入的个数count大于该值的实际个数时,全部插入).
RedisLInsertBefore 插入元素到列表中 当标志位不存在时,插入值失败 在元素前插入元素:value(当插入的个数count大于该值的实际个数时,全部插入).
RedisLLen 获取列表的长度.
RedisLPop 弹出列表的头部 移除List的第一个元素(头元素).
RedisLPush 将一条数据添加到列表的头部(类似入栈)可直接添加切片[]string.
RedisLRange 获取列表指定范围内的元素 获取List中的元素:起始索引~结束索引,当结束索引 > llen(list)或=-1时,取出全部数据 遍历List,获取每一个元素 注意取出来的顺序!!!.
RedisLRem 删除列表指定索引的元素 移除剩下的count个值:value(当移除的个数count大于该值的实际个数时,全部移除).
RedisLSet 设置指定索引的值.
RedisLTrim 保留列表指定索引范围内的数据 保留指定索引范围内的数据:0~-1,保留全部数据 截取的结束下标大于List长度或者-1时,一直截取到末尾 保留指定索引范围内的数据:0~10,保留索引0~10的数据.
RedisRPop 弹出列表的尾部 移除List的最后一个元素(尾元素).
RedisRPush 将一条数据添加到列表的尾部 可直接添加切片[]string.
RedisSet 设置key缓存value.
RedisSetOut 设置key缓存value,过期时间t.
RedisZAdd 增加有序集合.
RedisZCard 返回集合中成员的个数.
RedisZCount 返回指定区间中成员的个数.
RedisZRange 升序:查询zset中指定区间的成员,-1代表取到最后.
RedisZRangeByLex.
RedisZRangeByScore 升序:查询 指定下标start, stop区间的成员 zset中指定分数min, max区间的成员,.
RedisZRangeByScoreWithScores 升序:查询 指定下标start, stop区间的成员 zset中指定分数min, max区间的成员,.
RedisZRangeWithScores 升序:查询 指定下标start, stop区间的成员.
RedisZRank 获取指定成员的排名.
RedisZRem 删除指定成员.
RedisZRemRangeByRank 删除指定排名区间的成员.
RedisZRemRangeByScore 删除指定分数区间的成员.
RedisZRevRange 降序:查询zset中指定区间的成员,-1代表取到最后.
RedisZRevRangeByLex 降序:查询 指定下标start, stop区间的成员 zset中指定分数min, max区间的成员,.
RedisZRevRangeByScore 降序:查询 指定下标start, stop区间的成员 zset中指定分数min, max区间的成员,.
RedisZRevRangeByScoreWithScores 降序:查询 指定下标start, stop区间的成员 zset中指定分数min, max区间的成员,.
RedisZRevRangeWithScores 降序:查询 指定下标start, stop区间的成员.
RedisZRevRank 获取指定成员的排名.
RedisZScore 获取指定成员的score.
No description provided by the author
No description provided by the author
StructToJsonStr 结构体转json字符串.
StructToMap 结构体转map.
数据表转结构体 有填写path则在path目录下写入table文件并以path作为包名.