random

package
v2.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2024 License: MIT Imports: 8 Imported by: 28

Documentation

Overview

Package random implements some basic functions to generate random int and string.

Index

Examples

Constants

View Source
const (
	MaximumCapacity = math.MaxInt>>1 + 1
	Numeral         = "0123456789"
	LowwerLetters   = "abcdefghijklmnopqrstuvwxyz"
	UpperLetters    = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	Letters         = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	SymbolChars     = "!@#$%^&*()_+-=[]{}|;':\",./<>?"
)

Variables

This section is empty.

Functions

func RandBytes

func RandBytes(length int) []byte

RandBytes generate random byte slice. Play: https://go.dev/play/p/EkiLESeXf8d

Example
bytes := RandBytes(4)

fmt.Println(len(bytes))
Output:

4

func RandFloat added in v2.2.8

func RandFloat(min, max float64, precision int) float64

RandFloat generate random float64 number between [min, max) with specific precision. Play: https://go.dev/play/p/zbD_tuobJtr

Example
pattern := `^[\d{1}.\d{2}]+$`
reg := regexp.MustCompile(pattern)

num := RandFloat(1.0, 5.0, 2)

// check num is a random float in [1.0, 5.0)
result1 := num >= 1.0 && num < 5.0
result2 := reg.MatchString(strconv.FormatFloat(num, 'f', -1, 64))

fmt.Println(result1)
fmt.Println(result2)
Output:

true
true

func RandFloats added in v2.2.8

func RandFloats(n int, min, max float64, precision int) []float64

RandFloats generate a slice of random float64 numbers of length n that do not repeat. Play: https://go.dev/play/p/I3yndUQ-rhh

Example
isInRange := true
numbers := RandFloats(5, 1.0, 5.0, 2)
for _, n := range numbers {
	isInRange = (n >= 1.0 && n < 5.0)
}

fmt.Println(isInRange)
fmt.Println(len(numbers))
Output:

true
5

func RandInt

func RandInt(min, max int) int

RandInt generate random int between [min, max). Play: https://go.dev/play/p/pXyyAAI5YxD

Example
result := RandInt(1, 10)

if result >= 1 && result < 10 {
	fmt.Println("ok")
}
Output:

ok

func RandLower added in v2.1.9

func RandLower(length int) string

RandLower generate a random lower case string of specified length. Play: https://go.dev/play/p/XJtZ471cmtI

Example
pattern := `^[a-z]+$`
reg := regexp.MustCompile(pattern)

s := RandLower(6)

result1 := reg.MatchString(s)
result2 := len(s)

fmt.Println(result1)
fmt.Println(result2)
Output:

true
6

func RandNumeral added in v2.1.9

func RandNumeral(length int) string

RandNumeral generate a random numeral string of specified length. Play: https://go.dev/play/p/g4JWVpHsJcf

Example
pattern := `^[0-9]+$`
reg := regexp.MustCompile(pattern)

s := RandNumeral(6)

result1 := reg.MatchString(s)
result2 := len(s)

fmt.Println(result1)
fmt.Println(result2)
Output:

true
6

func RandNumeralOrLetter added in v2.1.9

func RandNumeralOrLetter(length int) string

RandNumeralOrLetter generate a random numeral or alpha string of specified length. Play: https://go.dev/play/p/19CEQvpx2jD

Example
pattern := `^[0-9a-zA-Z]+$`
reg := regexp.MustCompile(pattern)

s := RandNumeralOrLetter(6)

result1 := reg.MatchString(s)
result2 := len(s)

fmt.Println(result1)
fmt.Println(result2)
Output:

true
6

func RandString

func RandString(length int) string

RandString generate random alpha string of specified length. Play: https://go.dev/play/p/W2xvRUXA7Mi

Example
pattern := `^[a-zA-Z]+$`
reg := regexp.MustCompile(pattern)

s := RandString(6)

result1 := reg.MatchString(s)
result2 := len(s)

fmt.Println(result1)
fmt.Println(result2)
Output:

true
6

func RandSymbolChar added in v2.2.8

func RandSymbolChar(length int) string

RandSymbolChar generate a random symbol char of specified length. symbol chars: !@#$%^&*()_+-=[]{}|;':\",./<>?. Play: https://go.dev/play/p/Im6ZJxAykOm

Example
pattern := `^[\W|_]+$`
reg := regexp.MustCompile(pattern)

s := RandSymbolChar(6)

result1 := reg.MatchString(s)
result2 := len(s)

fmt.Println(result1)
fmt.Println(result2)
Output:

true
6

func RandUniqueIntSlice added in v2.2.2

func RandUniqueIntSlice(n, min, max int) []int

RandUniqueIntSlice generate a slice of random int of length n that do not repeat. Play: https://go.dev/play/p/uBkRSOz73Ec

Example
result := RandUniqueIntSlice(5, 0, 10)

if len(result) == 5 {
	fmt.Println("ok")
}
Output:

ok

func RandUpper added in v2.1.9

func RandUpper(length int) string

RandUpper generate a random upper case string of specified length. Play: https://go.dev/play/p/29QfOh0DVuh

Example
pattern := `^[A-Z]+$`
reg := regexp.MustCompile(pattern)

s := RandUpper(6)

result1 := reg.MatchString(s)
result2 := len(s)

fmt.Println(result1)
fmt.Println(result2)
Output:

true
6

func UUIdV4

func UUIdV4() (string, error)

UUIdV4 generate a random UUID of version 4 according to RFC 4122. Play: https://go.dev/play/p/_Z9SFmr28ft

Example
pattern := `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$`
reg := regexp.MustCompile(pattern)

s, _ := UUIdV4()

result := reg.MatchString(s)

fmt.Println(result)
Output:

true

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL