go-common/random/random.go

24 lines
528 B
Go

package random
import "math/rand"
// Intn returns a random number between min and max.
// It panics if min <= max.
// Remember to seed rand first!
func Intn(min, max int) int {
return RandIntn(nil, min, max)
}
// RandIntn returns a random number between min and max for the given rand.Rand.
//
// It panics if min <= max.
func RandIntn(r *rand.Rand, min, max int) int {
if min < max {
panic("min cannot be less than or equal to max")
}
if r == nil {
return rand.Intn(max-min) + min
}
return r.Intn(max-min) + min
}