29 lines
392 B
Go
29 lines
392 B
Go
package utils
|
||
|
||
import "math"
|
||
|
||
// 模板结构,语法拒绝T{},但能接受TValue[T].V
|
||
type TValue[T any] struct {
|
||
V T
|
||
}
|
||
|
||
func Tie[T any](ret bool, v1, v2 T) T {
|
||
if ret {
|
||
return v1
|
||
}
|
||
return v2
|
||
}
|
||
|
||
func VipLevel(sumExp int32) (lv, exp int32) {
|
||
lv = 1
|
||
exp = 100
|
||
for {
|
||
if sumExp < exp {
|
||
return lv, sumExp
|
||
}
|
||
sumExp -= exp
|
||
lv++
|
||
exp = int32(math.Pow(float64(lv), 1.6))
|
||
}
|
||
}
|