1 Star 0 Fork 0

玟兵/go-util

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
common.go 1.07 KB
一键复制 编辑 原始数据 按行查看 历史
玟兵 提交于 2025-02-13 11:35 +08:00 . 依赖更新
package util
import (
"github.com/spf13/cast"
"math/rand/v2"
"reflect"
"runtime"
)
func NumCPU() int {
return runtime.NumCPU()
}
// RandIntN 获得随机数
func RandIntN(i int) int {
if i <= 1 {
return 0
}
return rand.IntN(i)
}
// RandRange 按范围取随机值 [min, max)
func RandRange(min, max int) int {
if max <= min {
min, max = max, min
}
return RandIntN(max-min) + min
}
func InArray(needle any, haystack any) bool {
val := reflect.ValueOf(haystack)
switch val.Kind() {
case reflect.Slice, reflect.Array:
for i := 0; i < val.Len(); i++ {
if reflect.DeepEqual(needle, val.Index(i).Interface()) {
return true
}
}
case reflect.Map:
for _, k := range val.MapKeys() {
if reflect.DeepEqual(needle, val.MapIndex(k).Interface()) {
return true
}
}
default:
return false
}
return false
}
func AnyToInt64(v any) (ret int64) {
return cast.ToInt64(v)
}
func AnyToFloat64(v any) (ret float64) {
return cast.ToFloat64(v)
}
func AnyToStr(v any) (ret string) {
return cast.ToString(v)
}
func AnyToBool(v any) bool {
return cast.ToBool(v)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/binny_w/go-util.git
git@gitee.com:binny_w/go-util.git
binny_w
go-util
go-util
v0.0.49

搜索帮助