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") string
ValidatePasswd
校验密码是否一致
go
gzutil.ValidatePasswd("123456", "nvsp", "oldPassword") bool
IsValidNumber
判断是否是有效数字,支持 ~int | ~int32 | ~int64 | ~float64 | ~float32 | ~string
这些类型
go
gzutil.IsValidNumber("1") bool
UcFirst
字符串首字母大写
go
gzutil.UcFirst("helloWorld") string
// 输出 HelloWorld
LcFirst
字符串首字母小写
go
gzutil.LcFirst("HelloWorld") string
// 输出 helloWorld
RemoveDomain
移除 URL 中的域名
go
gzutil.RemoveDomain("https://www.gooze.com/api/v1/test") string
// 输出 /api/v1/test
JoinDomain
将域名和 URL 路径拼接为完整 URL
go
gzutil.JoinDomain("/api/v1/test", "https://www.gooze.com") string
// 输出 https://www.gooze.com/api/v1/test
InArray
判断指定的值是否在数组中,泛型
go
gzutil.InArray(1, []int64{1, 2, 3}) bool
// 输出 true
Ternary
三元运算符
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() string
GetClientRealIP
获取客户端真实 IP
go
gzutil.GetLocalIP() string
GenerateUuid
生成 uuid
go
gzutil.GenerateUuid() string
GenerateNoWhippletreeUuid
生成不带横杠的 32 位 uuid
go
gzutil.GenerateNoWhippletreeUuid() string
RandString
随机指定位数长度的字符串
go
gzutil.RandString(6) string
FileIsExist
文件是否存在
go
gzutil.FileIsExist() bool