number.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package gofakeit
  2. import (
  3. "math"
  4. "math/rand"
  5. )
  6. // Number will generate a random number between given min And max
  7. func Number(min int, max int) int {
  8. return randIntRange(min, max)
  9. }
  10. // Uint8 will generate a random uint8 value
  11. func Uint8() uint8 {
  12. return uint8(randIntRange(0, math.MaxUint8))
  13. }
  14. // Uint16 will generate a random uint16 value
  15. func Uint16() uint16 {
  16. return uint16(randIntRange(0, math.MaxUint16))
  17. }
  18. // Uint32 will generate a random uint32 value
  19. func Uint32() uint32 {
  20. return uint32(randIntRange(0, math.MaxInt32))
  21. }
  22. // Uint64 will generate a random uint64 value
  23. func Uint64() uint64 {
  24. return uint64(rand.Int63n(math.MaxInt64))
  25. }
  26. // Int8 will generate a random Int8 value
  27. func Int8() int8 {
  28. return int8(randIntRange(math.MinInt8, math.MaxInt8))
  29. }
  30. // Int16 will generate a random int16 value
  31. func Int16() int16 {
  32. return int16(randIntRange(math.MinInt16, math.MaxInt16))
  33. }
  34. // Int32 will generate a random int32 value
  35. func Int32() int32 {
  36. return int32(randIntRange(math.MinInt32, math.MaxInt32))
  37. }
  38. // Int64 will generate a random int64 value
  39. func Int64() int64 {
  40. return rand.Int63n(math.MaxInt64) + math.MinInt64
  41. }
  42. // Float32 will generate a random float32 value
  43. func Float32() float32 {
  44. return randFloat32Range(math.SmallestNonzeroFloat32, math.MaxFloat32)
  45. }
  46. // Float32Range will generate a random float32 value between min and max
  47. func Float32Range(min, max float32) float32 {
  48. return randFloat32Range(min, max)
  49. }
  50. // Float64 will generate a random float64 value
  51. func Float64() float64 {
  52. return randFloat64Range(math.SmallestNonzeroFloat64, math.MaxFloat64)
  53. }
  54. // Float64Range will generate a random float64 value between min and max
  55. func Float64Range(min, max float64) float64 {
  56. return randFloat64Range(min, max)
  57. }
  58. // Numerify will replace # with random numerical values
  59. func Numerify(str string) string {
  60. return replaceWithNumbers(str)
  61. }
  62. // ShuffleInts will randomize a slice of ints
  63. func ShuffleInts(a []int) {
  64. for i := range a {
  65. j := rand.Intn(i + 1)
  66. a[i], a[j] = a[j], a[i]
  67. }
  68. }