Skip to content

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

基于 MIT 许可发布