代码拉取完成,页面将自动刷新
package random
// SliceAny 生成随机切片
func SliceAny(t []any, length int) []any {
if length <= 0 {
return []any{}
}
var tLen = len(t)
var rt = make([]any, 0, length)
for i := 0; i < length; i++ {
rt = append(rt, t[Rand.Intn(tLen)])
}
return rt
}
type IntUintStringFloat interface {
~int8 | ~int16 | ~int32 | ~int64 |
~uint8 | ~uint16 | ~uint32 | ~uint64 |
~string |
~float32 | ~float64
}
// Slice 生成随机切片
func Slice[T IntUintStringFloat](t []T, length int) []T {
if length <= 0 {
return []T{}
}
var tLen = len(t)
var rt = make([]T, 0, length)
for i := 0; i < length; i++ {
rt = append(rt, t[Rand.Intn(tLen)])
}
return rt
}
// ShuffleAny 洗牌,打乱顺序
func ShuffleAny(t []any) []any {
length := len(t)
if length <= 0 || length == 1 {
return t
}
for i := 0; i < length; i++ {
index := Rand.Intn(length)
t[i], t[index] = t[index], t[i]
}
return t
}
// Shuffle 洗牌,打乱顺序
func Shuffle[T IntUintStringFloat](t []T) []T {
length := len(t)
if length <= 0 || length == 1 {
return t
}
for i := 0; i < length; i++ {
index := Rand.Intn(length)
t[i], t[index] = t[index], t[i]
}
return t
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。