utils

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func All

func All(tasks ...func())

异步运行 tasks 中的每一个函数

func Await

func Await[T any, V any, A ~[]T](task func(T) V, args *A) []V

异步运行同一函数多次 参数用户提供 返回参数顺序对应的结果

func AwaitWith

func AwaitWith[T any, V any, A ~[]T, R ~[]V](task func(T) V, args *A, results *R)

异步运行同一函数多次 参数用户提供 返回参数顺序对应的结果

func Clean

func Clean(original string) string

干净文本

func FileNotExists

func FileNotExists(path string) bool

func List

func List(task func(i int), length int)

异步运行同一函数多次 参数为运行序号

func RandomLetter

func RandomLetter(n int) []rune

随机字母

参考: https://xie.infoq.cn/article/f274571178f1bbe6ff8d974f3

func RandomNumber

func RandomNumber(digit int) int

随机生成指定位数数字

func RandomNumberMixString

func RandomNumberMixString(digit, mix int) string

随机混合字母的数字字符串

digit 位数 mix 混入字母个数

func RandomString

func RandomString(digit int) string

随机生成指定位数数字字符串

func Retry

func Retry(times, delay int, f func() bool)

重试函数

times: 重试次数 负数则无限制

delay: 休眠秒数 每次重试间休眠时间

f: 要重试的函数

func RetryError

func RetryError(times, delay int, f func() error)

重试函数 通过是否抛出 error 判断

func RetryWith

func RetryWith[T any](times, delay int, f func(T) bool, arg T)

重试函数 支持一个参数

func SimilarText

func SimilarText(first, second string) float64

文本相似性判断

参考 https://blog.csdn.net/weixin_30402085/article/details/96165537

func Ternary

func Ternary[T any](expr bool, a, b T) T

三目运算符

func Timer

func Timer(uids ...string) gin.H

更新时间戳

Types

type EventLoop

type EventLoop[T any, V any, R ~[]V] struct {
	sync.WaitGroup
	Results *R
}

事件循环

func (*EventLoop[T, V, R]) AddTask

func (el *EventLoop[T, V, R]) AddTask(f any, args ...T)

添加任务

type Time

type Time struct {
	String string
	Stamp  int64
	Date   time.Time
}

时间类 方便相互转换

func NewTime

func NewTime(t any) Time

支持格式 string int64 time.Time

特别的 使用 nil 时将以当前时间创建

func (Time) Delay

func (t Time) Delay(seconds int64) Time

以当前为基准延后

func (Time) ToDate

func (t Time) ToDate() time.Time

func (Time) ToStamp

func (t Time) ToStamp() int64

func (Time) ToString

func (t Time) ToString() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL