29 lines
433 B
Go
29 lines
433 B
Go
package mycommon
|
|
|
|
import (
|
|
"git.makemake.in/kzkzzzz/mycommon/mylog"
|
|
"math/rand/v2"
|
|
"runtime/debug"
|
|
)
|
|
|
|
func SafeFn(fn func()) {
|
|
defer func() {
|
|
if err := recover(); err != nil {
|
|
mylog.Errorf("panic: %s\n%s", err, string(debug.Stack()))
|
|
}
|
|
}()
|
|
|
|
fn()
|
|
}
|
|
|
|
func SafeGo(fn func()) {
|
|
go func() {
|
|
SafeFn(fn)
|
|
}()
|
|
}
|
|
|
|
// RandRange [min, max] 左右均包含
|
|
func RandRange(min, max int) int {
|
|
return rand.IntN(max+1-min) + min
|
|
}
|