slice.go 517 Bytes
package uttype

import "math/rand"

// Min 最小值
func Min[T Number](values ...T) T {
	result := values[0]
	for _, v := range values[1:] {
		if v < result {
			result = v
		}
	}
	return result
}

// Max 最大值
func Max[T Number](values ...T) T {
	result := values[0]
	for _, v := range values[1:] {
		if v > result {
			result = v
		}
	}
	return result
}

// Shuffle 打乱
func Shuffle[T any](list []T) {
	for i := len(list) - 1; i > 0; i-- {
		j := rand.Intn(i + 1)
		list[i], list[j] = list[j], list[i]
	}
}