`package `**rand**
Import Path
math/rand* (on golang.org and go.dev)*
Dependency Relation
imports 2 packages, and imported by 6 packages
Involved Source Files
exp.go
normal.go
d-> rand.go
rng.go
zipf.go
Exported Type Names
type Rand *(struct)*
A Rand is a source of random numbers.
ExpFloat64 returns an exponentially distributed float64 in the range
(0, +math.MaxFloat64] with an exponential distribution whose rate parameter
(lambda) is 1 and whose mean is 1/lambda (1).
To produce a distribution with a different rate parameter,
callers can adjust the output using:
sample = ExpFloat64() / desiredRateParameter
Float32 returns, as a float32, a pseudo-random number in [0.0,1.0).
Float64 returns, as a float64, a pseudo-random number in [0.0,1.0).
Int returns a non-negative pseudo-random int.
Int31 returns a non-negative pseudo-random 31-bit integer as an int32.
Int31n returns, as an int32, a non-negative pseudo-random number in [0,n).
It panics if n <= 0.
Int63 returns a non-negative pseudo-random 63-bit integer as an int64.
Int63n returns, as an int64, a non-negative pseudo-random number in [0,n).
It panics if n <= 0.
Intn returns, as an int, a non-negative pseudo-random number in [0,n).
It panics if n <= 0.
NormFloat64 returns a normally distributed float64 in
the range -math.MaxFloat64 through +math.MaxFloat64 inclusive,
with standard normal distribution (mean = 0, stddev = 1).
To produce a different normal distribution, callers can
adjust the output using:
sample = NormFloat64() * desiredStdDev + desiredMean
Perm returns, as a slice of n ints, a pseudo-random permutation of the integers [0,n).
Read generates len(p) random bytes and writes them into p. It
always returns len(p) and a nil error.
Read should not be called concurrently with any other Rand method.
Seed uses the provided seed value to initialize the generator to a deterministic state.
Seed should not be called concurrently with any other Rand method.
Shuffle pseudo-randomizes the order of elements.
n is the number of elements. Shuffle panics if n < 0.
swap swaps the elements with indexes i and j.
Uint32 returns a pseudo-random 32-bit value as a uint32.
Uint64 returns a pseudo-random 64-bit value as a uint64.
*T : Source
*T : Source64
*T : io.Reader
func New(src Source) ***Rand**
func NewZipf(r ***Rand**, s float64, v float64, imax uint64) *Zipf
func math/big.(*Int).Rand(rnd ***Rand**, n *big.Int) *big.Int
func testing/quick.Value(t reflect.Type, rand ***Rand**) (value reflect.Value, ok bool)
func testing/quick.Generator.Generate(rand ***Rand**, size int) reflect.Value
type Source **(interface)
A Source represents a source of uniformly-distributed
pseudo-random int64 values in the range [0, 1<<63).
( T) Int63() int64
( T) Seed(seed int64)
*Rand
Source64 ***(interface)*
func NewSource(seed int64) **Source**
func New(src **Source**) *Rand
type Source64 **(interface)
A Source64 is a Source that can also generate
uniformly-distributed pseudo-random uint64 values in
the range [0, 1<<64) directly.
If a Rand r's underlying Source s implements Source64,
then r.Uint64 returns the result of one call to s.Uint64
instead of making two calls to s.Int63.
( T) Int63() int64
( T) Seed(seed int64)
( T) Uint64() uint64
*Rand
T : Source**
type Zipf *(struct)*
A Zipf generates Zipf distributed variates.
Uint64 returns a value drawn from the Zipf distribution described
by the Zipf object.
func NewZipf(r *Rand, s float64, v float64, imax uint64) ***Zipf**
Exported Values
func ExpFloat64() float64
ExpFloat64 returns an exponentially distributed float64 in the range
(0, +math.MaxFloat64] with an exponential distribution whose rate parameter
(lambda) is 1 and whose mean is 1/lambda (1) from the default Source.
To produce a distribution with a different rate parameter,
callers can adjust the output using:
sample = ExpFloat64() / desiredRateParameter
func Float32() float32
Float32 returns, as a float32, a pseudo-random number in [0.0,1.0)
from the default Source.
func Float64() float64
Float64 returns, as a float64, a pseudo-random number in [0.0,1.0)
from the default Source.
func Int31() int32
Int31 returns a non-negative pseudo-random 31-bit integer as an int32
from the default Source.
func Int31n(n int32) int32
Int31n returns, as an int32, a non-negative pseudo-random number in [0,n)
from the default Source.
It panics if n <= 0.
func Int63() int64
Int63 returns a non-negative pseudo-random 63-bit integer as an int64
from the default Source.
func Int63n(n int64) int64
Int63n returns, as an int64, a non-negative pseudo-random number in [0,n)
from the default Source.
It panics if n <= 0.
func Intn(n int) int
Intn returns, as an int, a non-negative pseudo-random number in [0,n)
from the default Source.
It panics if n <= 0.
func New(src Source) *Rand
New returns a new Rand that uses random values from src
to generate other random values.
func NewSource(seed int64) Source
NewSource returns a new pseudo-random Source seeded with the given value.
Unlike the default Source used by top-level functions, this source is not
safe for concurrent use by multiple goroutines.
func NewZipf(r *Rand, s float64, v float64, imax uint64) *Zipf
NewZipf returns a Zipf variate generator.
The generator generates values k ∈ [0, imax]
such that P(k) is proportional to (v + k) ** (-s).
Requirements: s > 1 and v >= 1.
func NormFloat64() float64
NormFloat64 returns a normally distributed float64 in the range
[-math.MaxFloat64, +math.MaxFloat64] with
standard normal distribution (mean = 0, stddev = 1)
from the default Source.
To produce a different normal distribution, callers can
adjust the output using:
sample = NormFloat64() * desiredStdDev + desiredMean
func Perm(n int) []int
Perm returns, as a slice of n ints, a pseudo-random permutation of the integers [0,n)
from the default Source.
func Read(p []byte) (n int, err error)
Read generates len(p) random bytes from the default Source and
writes them into p. It always returns len(p) and a nil error.
Read, unlike the Rand.Read method, is safe for concurrent use.
func Seed(seed int64)
Seed uses the provided seed value to initialize the default Source to a
deterministic state. If Seed is not called, the generator behaves as
if seeded by Seed(1). Seed values that have the same remainder when
divided by 2³¹-1 generate the same pseudo-random sequence.
Seed, unlike the Rand.Seed method, is safe for concurrent use.
func Shuffle(n int, swap func(i, j int))
Shuffle pseudo-randomizes the order of elements using the default Source.
n is the number of elements. Shuffle panics if n < 0.
swap swaps the elements with indexes i and j.

The pages are generated with Golds v0.1.7. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project and developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |