Documentation ¶
Overview ¶
Package random implements some basic functions to generate random int and string.
Index ¶
- Constants
- func RandBytes(length int) []byte
- func RandFloat(min, max float64, precision int) float64
- func RandFloats(n int, min, max float64, precision int) []float64
- func RandInt(min, max int) int
- func RandLower(length int) string
- func RandNumeral(length int) string
- func RandNumeralOrLetter(length int) string
- func RandString(length int) string
- func RandSymbolChar(length int) string
- func RandUniqueIntSlice(n, min, max int) []int
- func RandUpper(length int) string
- func UUIdV4() (string, error)
Examples ¶
Constants ¶
const ( MaximumCapacity = math.MaxInt>>1 + 1 Numeral = "0123456789" LowwerLetters = "abcdefghijklmnopqrstuvwxyz" UpperLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" SymbolChars = "!@#$%^&*()_+-=[]{}|;':\",./<>?" )
Variables ¶
This section is empty.
Functions ¶
func RandBytes ¶
RandBytes generate random byte slice. Play: https://go.dev/play/p/EkiLESeXf8d
Example ¶
bytes := RandBytes(4) fmt.Println(len(bytes))
Output: 4
func RandFloat ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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.