Documentation
¶
Index ¶
- func Bool() bool
- func Float64() float64
- func Float64Range(min, max float64) float64
- func GenRandomBytes(n int) ([]byte, error)
- func GenRandomHashKey() string
- func GenRandomHex(byteLen int) (string, error)
- func IntN(n int) int
- func IntRange(min, max int) int
- func PickN[T any](items []T, min, max int) []T
- func PickOne[T any](items []T) T
- func PickOneOr[T any](items []T, fallback T) T
- func Sample[T any](items []T, n int) []T
- func Shuffle[T any](items []T) []T
- func String(length int, charset string) string
- func WeightedPick[T any](items []T, weights []float64) T
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Float64Range ¶
Float64Range returns a random float64 in [min, max).
func GenRandomBytes ¶
GenRandomBytes generates n cryptographically random bytes. Returns an error if n < 0.
func GenRandomHashKey ¶
func GenRandomHashKey() string
GenRandomHashKey generates a cryptographically random SHA-256 hash key.
func GenRandomHex ¶
GenRandomHex generates a random hex string of the given byte length.
func PickN ¶
PickN picks between min and max (inclusive) unique elements from items. If max > len(items), it is clamped to len(items).
func PickOne ¶
func PickOne[T any](items []T) T
PickOne picks one random element from items. Panics if items is empty.
func PickOneOr ¶
func PickOneOr[T any](items []T, fallback T) T
PickOneOr picks a random element from items, returning fallback if items is empty.
func Sample ¶
Sample picks n unique elements from items using reservoir sampling. If n >= len(items), returns a shuffled copy of items.
func Shuffle ¶
func Shuffle[T any](items []T) []T
Shuffle returns a new slice with elements in random order. The original slice is not modified.
func String ¶
String generates a random string of the given length using the specified charset. If charset is empty, uses alphanumeric characters. Returns empty string if length <= 0.
func WeightedPick ¶
WeightedPick picks one element from items based on weights. Panics if items and weights have different lengths or if all weights are zero.
Types ¶
This section is empty.