# Random Package random implements some basic functions to generate random int and string.
## Source: - [https://github.com/duke-git/lancet/blob/main/random/random.go](https://github.com/duke-git/lancet/blob/main/random/random.go)
## Usage: ```go import ( "github.com/duke-git/lancet/v2/random" ) ```
## Index - [RandBytes](#RandBytes) - [RandInt](#RandInt) - [RandString](#RandString) - [RandUpper](#RandUpper) - [RandLower](#RandLower) - [RandNumeral](#RandNumeral) - [RandNumeralOrLetter](#RandNumeralOrLetter) - [RandSymbolChar](#RandSymbolChar) - [UUIdV4](#UUIdV4) - [RandUniqueIntSlice](#RandUniqueIntSlice) - [RandFloat](#RandFloat) - [RandFloats](#RandFloats)
## Documentation ### RandBytes

Generate random byte slice.

Signature: ```go func RandBytes(length int) []byte ``` Example:[Run](https://go.dev/play/p/EkiLESeXf8d) ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { randBytes := random.RandBytes(4) fmt.Println(randBytes) } ``` ### RandInt

Generate random int between min and max, may contain min, not max.

Signature: ```go func RandInt(min, max int) int ``` Example:[Run](https://go.dev/play/p/pXyyAAI5YxD) ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { rInt := random.RandInt(1, 10) fmt.Println(rInt) } ``` ### RandString

Generate random given length string. only contains letter (a-zA-Z)

Signature: ```go func RandString(length int) string ``` Example:[Run](https://go.dev/play/p/W2xvRUXA7Mi) ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { randStr := random.RandString(6) fmt.Println(randStr) //pGWsze } ``` ### RandUpper

Generate a random upper case string

Signature: ```go func RandUpper(length int) string ``` Example:[Run](https://go.dev/play/p/29QfOh0DVuh) ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { randStr := random.RandString(6) fmt.Println(randStr) //PACWGF } ``` ### RandLower

Generate a random lower case string

Signature: ```go func RandLower(length int) string ``` Example:[Run](https://go.dev/play/p/XJtZ471cmtI) ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { randStr := random.RandLower(6) fmt.Println(randStr) //siqbew } ``` ### RandNumeral

Generate a random numeral string

Signature: ```go func RandNumeral(length int) string ``` Example:[Run](https://go.dev/play/p/g4JWVpHsJcf) ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { randStr := random.RandNumeral(6) fmt.Println(randStr) //035172 } ``` ### RandNumeralOrLetter

generate a random numeral or letter string

Signature: ```go func RandNumeralOrLetter(length int) string ``` Example:[Run](https://go.dev/play/p/19CEQvpx2jD) ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { randStr := random.RandNumeralOrLetter(6) fmt.Println(randStr) //0aW7cQ } ``` ### RandSymbolChar

Generate a random symbol char of specified length. Symbol chars: !@#$%^&*()_+-=[]{}|;':\",./<>?.

Signature: ```go func RandSymbolChar(length int) string ``` Example: ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { randStr := random.RandSymbolChar(6) fmt.Println(randStr) //@#(_") } ``` ### UUIdV4

Generate a random UUID of version 4 according to RFC 4122.

Signature: ```go func UUIdV4() (string, error) ``` Example:[Run](https://go.dev/play/p/_Z9SFmr28ft) ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { uuid, err := random.UUIdV4() if err != nil { return } fmt.Println(uuid) } ``` ### RandUniqueIntSlice

Generate a slice of random int of length n that do not repeat.

Signature: ```go func RandUniqueIntSlice(n, min, max int) []int ``` Example:[Run](https://go.dev/play/p/uBkRSOz73Ec) ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { result := random.RandUniqueIntSlice(5, 0, 10) fmt.Println(result) //[0 4 7 1 5] (random) } ``` ### RandFloat

Generate random float64 number between [min, max) with specific precision.

Signature: ```go func RandFloat(min, max float64, precision int) float64 ``` Example: ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { floatNumber := random.RandFloat(1.0, 5.0, 2) fmt.Println(floatNumber) //2.14 (random number) } ``` ### RandFloats

Generate a slice of random float64 numbers of length n that do not repeat.

Signature: ```go func RandFloats(n int, min, max float64, precision int) []float64 ``` Example: ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/random" ) func main() { floatNumbers := random.RandFloats(5, 1.0, 5.0, 2) fmt.Println(floatNumber) //[3.42 3.99 1.3 2.38 4.23] (random) } ```