netaxcess / util

golang util

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

/* 返回map的key集合 elements :要处理的map集合 例子:ArrayKeys(map[string]string{"1":"a", "2":"b"}) 返回:[]string{"1", "2"} */

func ArrayKeys(elements map[interface}]interface}) []interface}

/* 返回map的value集合 elements :要处理的map集合 例子:ArrayValues(map[string]string{"1":"a", "2":"b"}) 返回:[]string{"a", "b"} */

func ArrayValues(elements map[interface}]interface}) []interface}

/* 合并几个slice ss :要合并的集合 例子:ArrayMerge([]string{1,2}, []string{3,4}) 返回:[]string{"1", "2", "3", "4"} */

func ArrayMerge(ss ...[]interface}) []interface}

/* 截取slice中的指定长度 ss :要合并的集合 例子:ArraySlice([]string{1, 2, 3, 4, 5}, 1, 2) 返回:[]string{2, 3} */

func ArraySlice(s []interface}, offset, length uint) []interface}

/* 判断map的key是否存在 key :要判断的值 m :要判断的map集合 例子:ArrayKeyExists("a", map[string]string{"a":"1", "b":"2"}) 返回:true */

func ArrayKeyExists(key interface}, m map[interface}]interface}) bool

/* 判断内容是否在slice中 needle :需要判断的值 haystack :slice集合 例子:InArray(1, [2]interface{}{"a", 1}) 返回:true */

func InArray(needle interface}, haystack interface}) bool

/* 新建目录 dirs:需要建立的目录文件 返回创建目录是否成功 例子:MakeDir("/data/test",0777) */

func MakeDir(dirs string, mode os.FileMode) bool

/* 根据文件和目录创建 bas_dir :目录路径位置 file_name :文件路基 返回整个目录 DirNames("/home/wwwroot","2020/12"),创建/home/wwwroot/2020/12的目录 */

func DirNames(bas_dir string,file_name string) string

/* 递归返回子目录下面所有文件 pathname :要读取的目录地址 vals :接受返回文件目录结果的数组 返回整个目录在slice var vals []string 例子:GetAllFile("./github.com/netaxcess/util", vals),读取/github.com/netaxcess/util目录下面所以的文件 */

func GetAllFile(pathname string, vals []string) ([]string, error)

/* 将内容写入文件 filename :要写入的文件地址 data :要写入的文件内容,字符串 mode :文件权限 例子:FilePutContents("./github.com/netaxcess/util/a.txt", "内容", 0666),读取/github.com/netaxcess/util目录下面所以的文件 */

func FilePutContents(filename string, data string, mode os.FileMode) error

/* 读取文件内容 filename :要读取的文件 例子:FileGetContents("./github.com/netaxcess/util/a.txt"),读取/github.com/netaxcess/util目录下面所以的文件 */

func FileGetContents(filename string) (string, error)

/* 将interface数据数据类型转换成字符串 data:interface{}数据类型 例子:String(1234) */

func String(data interface}) string

/* 将interface转换成int data:interface{}数据类型 例子:Int("1234") */

func Int(data interface}) int

/* 将interface转换成int32 data:interface{}数据类型 例子:Int32("1234") */

func Int32(data interface}) int32

/* 将interface转换成int64 data:interface{}数据类型 例子:Int64("1234") */

func Int64(data interface}) int64

/* 将interface转换成float32 data:interface{}数据类型 例子:float32("1234") */

func Float32(data interface}) float32

/* 将interface转换成float64 data:interface{}数据类型 例子:Float64("1234") */

func Float64(data interface}) float64

/* 将内容转化成json字符串 val :需要转换的字符串 例子:JsonEncode(map[string]string{"1":"a", "2":"b"}) 返回:{"1":"a","2":"b"} */

func JsonEncode(val interface}) (string)

/* 将内容转化成json字符串 val :需要转换的字符串 v : 回调结果map[string]interface{} 例子:JsonDecode({"1":"a","2":"b"}, v) 返回:{"1":"a","2":"b"} */

func JsonDecode(val string, v interface}) interface}

/* 验证是否正常的JSON数据 val :需要转换的字符串 例子:ValidJson({"1":"a","2":"b"}) 返回:true */

func ValidJson(val string) bool

/* 对浮点数进行四舍五入 例子:Round(1.99) 返回:2 */

func Round(val float64) float64

/* 舍去法取整,返回不大于 value 的最接近的整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。 例子:Floor(9.999)返回9, Floor(-3.14)返回-4 */

func Floor(val float64) float64

/* 进一法取整,返回不小于 value 的下一个整数,value 如果有小数部分则进一位。 例子:Ceil(4.3)返回5 例子:Ceil(9.9)返回10 例子:Ceil(-3.14)返回-3

*/

func Ceil(val float64) float64

/* 产生随机数播下随机种子 */

func init()

/*产生公共随机数 min最小值 max最大值 返回随机数int类型 例子:Rands(100,200) */

func Rands(min, max int) int

/* 字符串编码转换 new_charset:要转的新编码 str :要处理的字符 返回处理后的新编码。比如Iconv("GBK","**人") */

func Iconv(new_charset,str string) string

/* 提取字符串中所有中文 str:要截取的字符串 例子:MatchCn("测试的代码2345") */

func MatchCn(str string) []string

/* 提取字符串所有的数字,返回数字字符串 str:要截取的字符串 例子:MatchCn("测试的代码2345 334") 返回:[]string{"2345","334"} */

func MatchNumber(str string) []string

/* 字符串截取 s:要截取的字符串 start :开始截取的位置 length:截取的长度 返回截取后的字符串 例子:Substr("测试的代码","1","2") */

func Substr(s string, start, length int) string

/* 返回字符串的MD5加密方式 str: 要加密的字符串 返回MD5后的字符串 例子:Md5("123456") */

func Md5(str string) string

/* 字符串连接函数 strings :多个要拼接的字符串 返回字符串拼接内容 例子:Concat("abc","def","cfg") */

func Concat(strings ...string) string

/* 使用反斜线引用字符串 str :需要被转义的字符串 返回被转义后的内容 例子:Addslashes("Is your name O'reilly?") */

func Addslashes(str string) string

/* 函数把包含数据的二进制字符串转换为十六进制值 str :需要转换的字符串 返回十六进制内容 例子:Bin2hex("11111001") */

func Bin2hex(str string) (string, error)

/* 将对应ascii转换所指定的单个字符 str :需要转换的ascii码 返回ascii转换后的字符串 例子:Chr(27),返回换行符 */

func Chr(ascii int) string

/* 将字符串分割成小块 body :要分割的字符 chunklen :分割的尺寸 end :行尾序列符号 例子:ChunkSplit("1234", 1, ""),"1\r\n2\r\n3\r\n4\r\n" 对标PHP:chunk_split */

func ChunkSplit(body string, chunklen uint, end string) string

/* 返回字符串所用字符的信息,统计 string 中每个字节值(0..255)出现的次数,使用多种模式返回结果 str :要分割的字符 noSpace :分割的尺寸 例子:CountChars(我爱 Go Go Go, true) 返回:map[string]int{"G": 3, "o": 3, "我": 1, "爱": 1, } 对标PHP:count_chars */

func CountChars(str string, noSpace ...bool) map[string]int

/* 使用一个字符串分割另一个字符串,此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来 delimiter :边界上的分隔字符 str :要切分的的字符串 例子:Explode(" ", piece1 piece2 piece3) 返回:[]string{"piece1", "piece2", "piece3"} */

func Explode(delimiter, str string) []string

/* 将一个一维数组的值转化为字符串 glue :默认为空的字符串 pieces :你想要转换的数组 例子:Implode(" - ", []string{"我爱", "GoFrame"}) 返回:"我爱 - GoFrame" */

func Implode(glue string, pieces []string) string

/* 使一个字符串的第一个字符小写,返回第一个字母小写的 str ,如果是字母的话 str :要转换的字符串 例子:Lcfirst("This Is") 返回:"this is" */

func Lcfirst(str string) string

/* 将字符串的首字母转换为大写 str :要转换的字符串 例子:Ucfirst("this") 返回:"This" */

func Ucfirst(str string) string

/* 将字符串转化为小写 str :要转换的字符串 例子:Strtolower("This") 返回:"this" */

func Strtolower(str string) string

/* 将字符串转化为大写 str :要转换的字符串 例子:Strtoupper("This") 返回:"THIS" */

func Strtoupper(str string) string

/* 子字符串替换,该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果 search :查找的目标值,也就是 needle。一个数组可以指定多个目标 replace :search 的替换值。一个数组可以被用来指定多重替换 subject :执行替换的数组或者字符串。也就是 haystack count :如果被指定,它的值将被设置为替换发生的次数 例子:StrReplace("%body%", "black", "") 返回:"THIS" 对标PHP:str_replace */

func StrReplace(search, replace, subject string, count ...int) string

/* Str_Replace() 的忽略大小写版本 search :查找的目标值,也就是 needle。一个数组可以指定多个目标 replace :search 的替换值。一个数组可以被用来指定多重替换 subject :执行替换的数组或者字符串。也就是 haystack count :如果被指定,它的值将被设置为替换发生的次数 例子:StrIreplace("%body%", "black", "") 返回:"THIS" 对标PHP:Str_Replace */

func StrIreplace(search, replace, subject string, count ...int) string

/* 去除字符串首尾处的空白字符(或者其他字符), str :待处理的字符串 characterMask :可选参数,过滤字符也可由 character_mask 参数指定。一般要列出所有希望过滤的字符,也可以使用 “..” 列出一个字符范围。 例子:Trim("Hello World") 返回:"HelloWorld" 此函数返回字符串 str 去除首尾空白字符后的结果。如果不指定第二个参数,trim() 将去除这些字符: */

func Trim(str string, characterMask ...string) string

/* 删除字符串开头的空白字符(或其他字符) str :待处理的字符串 characterMask :可选参数,过滤字符也可由 character_mask 参数指定。一般要列出所有希望过滤的字符,也可以使用 “..” 列出一个字符范围。 例子:Ltrim(" Hello World") 返回:"HelloWorld" 该函数返回一个删除了 str 最左边的空白字符的字符串。 如果不使用第二个参数, ltrim() 仅删除以下字符 */

func Ltrim(str string, characterMask ...string) string

/* 删除字符串末端的空白字符(或者其他字符) str :输入字符串 characterMask :通过指定 character_mask,可以指定想要删除的字符列表。简单地列出你想要删除的全部字符。使用 .. 格式,可以指定一个范围 例子:Rtrim("Hello World ") 返回:"HelloWorld" 该函数删除 str 末端的空白字符(或者其他字符)并返回。 */

func Rtrim(str string, characterMask ...string) string

/* 以千位分隔符方式格式化一个数字 number :你要格式化的数字 decimals :要保留的小数位数 decPoint :指定小数点显示的字符 thousandsSep :指定千位分隔符显示的字符 例子:NumberFormat(1234.56, 2, ',', ' ')返回1 234,56 例子:NumberFormat(1234.56, 2, '.', '')返回1234.57 格式化以后的 number */

func NumberFormat(number float64, decimals int, decPoint, thousandsSep string) string

/* 查找字符串首次出现的位置 haystack :输入字符串 needle :查找的字符串 offset :如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。 如果是负数,搜索会从字符串结尾指定字符数开始。 例子:StrPos("aabc", "a") 返回:0 该函数删除 str 末端的空白字符(或者其他字符)并返回。 */

func StrPos(haystack, needle string, offsets ...int) int

/* 查找字符串首次出现的位置(不区分大小写) haystack :输入字符串 needle :查找的字符串 offset :如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。 如果是负数,搜索会从字符串结尾指定字符数开始。 例子:StrIpos("Aabc", "a") 返回:0 该函数删除 str 末端的空白字符(或者其他字符)并返回。 */

func StrIpos(haystack, needle string, offsets ...int) int

/* 字符串反转函数 str :要反转的字符串 例子:Strrev("1234") 返回:4321 */

func Strrev(str string) string

/* Find the first occurrence of a string haystack :要被截取的内容 needle :处理的分隔符 例子:Strstr("xb@ichunt.com", "@") 返回:@ichunt.com */

func Strstr(haystack string, needle string) string

/* 字符转数字 char :要转的字符 例子:Ord("\n") 返回:10 */

func Ord(char string) int

/*日期字符串转时间戳 date日期字符串,默认是年月日2020-02-03 返回时间戳int64 例子:StrtoTime("2020-02-02") */

func StrtoTime(date string) int64

/* 获取当前系统时间戳 */

func CurrentTime() int64

/* 时间戳转年月日 time_unix : 当前系统时间戳 date_formate:要转换的格式 例子:Date(1605582958,"2006/01/02 15:04:05") 例子:Date(1605582958,"2006年01月02日 15:04:05") */

func Date(time_unix int64, date_format string) string

/* 获取指定某天的零点时间戳 date:时间日期 例子:DateZeroTime("2020-12-09") */

func DateZeroTime(date string) int64

/* 获取指定日期是本年度第几周 date:时间日期 例子:GetWeek("2020-12-09")或者GetWeek("2020-12-09 15:04:05") 返回:year年度,week星期 */

func GetWeek(date string) (year, week int)

/* Encodes data with MIME base64 str :要执行base64_encode的字符串 例子:Base64Decode("This is an encoded string") 返回:"VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==" */

func Base64Encode(str string) string

/* Decodes data encoded with MIME base64 str :要执行base64_decode的字符串 例子:Base64Decode("VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==") 返回:"This is an encoded string" */

func Base64Decode(str string) (string, error)

/* Decodes URL-encoded string str :要执行url_encode的字符串 例子:URLEncode("LM358D-T%DTD") 返回:"LM358D-T%25DTD" */

func URLEncode(str string) string

/* URL-encodes string str :要执行url_decode的字符串 例子:URLDecode("LM358D-T%25DTD") 返回:"LM358D-T%25DTD" */

func URLDecode(str string) (string, error)

/* 检查一个变量是否为空,判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于false,那么它会被认为不存在 val :判断是否为空的内容 例子:Empty(0) 返回:true */

func Empty(val interface}) bool

/* 检测变量是否为数字或数字字符串,如果 val 是数字和数字字符串则返回 true,否则返回 false val :要检测是否是字符串或者数字的内容 例子:IsNumeric("1234") 返回:true */

func IsNumeric(val interface}) bool

About

golang util


Languages

Language:Go 100.0%