Gooze 工具函数
只列出常用的,使用方法都是通过 gzutil.** 使用,更多函数可通过编辑器查看
SafeGo
安全的启动一个 go 协程
go
func UseGzutil() {
gzutil.SafeGo(func() {
for {
for i := 0; i < 100; i++ {
gooze.Log.Info("这是定时任务, 运行中...")
}
}
})
}RunSafe
安全的运行一个函数
go
gzutil.RunSafe(func() {
arr := []int{1, 2}
fmt.Println(arr[3]) // 数组越界也不会影响主进程
})MakePasswd
基于加密盐生成密码
go
gzutil.MakePasswd("123456", "nvsp") stringValidatePasswd
校验密码是否一致
go
gzutil.ValidatePasswd("123456", "nvsp", "oldPassword") boolIsValidNumber
判断是否是有效数字,支持 ~int | ~int32 | ~int64 | ~float64 | ~float32 | ~string 这些类型
go
gzutil.IsValidNumber("1") boolUcFirst
字符串首字母大写
go
gzutil.UcFirst("helloWorld") string
// 输出 HelloWorldLcFirst
字符串首字母小写
go
gzutil.LcFirst("HelloWorld") string
// 输出 helloWorldRemoveDomain
移除 URL 中的域名
go
gzutil.RemoveDomain("https://www.gooze.com/api/v1/test") string
// 输出 /api/v1/testJoinDomain
将域名和 URL 路径拼接为完整 URL
go
gzutil.JoinDomain("/api/v1/test", "https://www.gooze.com") string
// 输出 https://www.gooze.com/api/v1/testInArray
判断指定的值是否在数组中,泛型
go
gzutil.InArray(1, []int64{1, 2, 3}) bool
// 输出 trueTernary
三元运算符
go
var needUcFirst bool
name := "zhang"
if needUcFirst {
name = gzutil.UcFirst(name)
}
name := gzutil.Ternary(needUcFirst, gzutil.UcFirst(name), name)GetLocalIP
获取本机的 IP 地址
go
gzutil.GetLocalIP() stringGetClientRealIP
获取客户端真实 IP
go
gzutil.GetLocalIP() stringGenerateUuid
生成 uuid
go
gzutil.GenerateUuid() stringGenerateNoWhippletreeUuid
生成不带横杠的 32 位 uuid
go
gzutil.GenerateNoWhippletreeUuid() stringRandString
随机指定位数长度的字符串
go
gzutil.RandString(6) stringFileIsExist
文件是否存在
go
gzutil.FileIsExist() bool