From c5f130dc39c610c926cf2ee64c00ad94242ff142 Mon Sep 17 00:00:00 2001 From: itsscb Date: Mon, 18 Sep 2023 15:16:56 +0200 Subject: [PATCH] ft/adds util funcs --- util/random.go | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 util/random.go diff --git a/util/random.go b/util/random.go new file mode 100644 index 0000000..ad70553 --- /dev/null +++ b/util/random.go @@ -0,0 +1,60 @@ +package util + +import ( + "math/rand" + "strings" +) + +const alphabet = "abcdefghijklmnopqrstuvwxyz" +const numbers = "0123456789" + +// func init() { +// rand.Seed(time.Now().UnixNano()) +// } + +// RandomInt generates a random number between min and max +func RandomInt(min, max int64) int64 { + return min + rand.Int63n(max-min+1) +} + +// RandomString generates a random string of length n +func RandomString(n int) string { + var sb strings.Builder + k := len(alphabet) + + for i := 0; i < n; i++ { + c := alphabet[rand.Intn(k)] + sb.WriteByte(c) + } + + return sb.String() +} + +// RandomPhone generates a random phone number as string +func RandomPhone() string { + var sb strings.Builder + k := len(numbers) + + for i := 0; i <= 12; i++ { + c := numbers[rand.Intn(k)] + sb.WriteByte(c) + } + + return sb.String() +} + +// RandomUser generates a random username +func RandomUser() string { + return RandomString(20) +} + +// RandomEmail generates a random email address +func RandomEmail() string { + var s string + s += RandomString(10) + s += "@" + s += RandomString(10) + s += "." + s += RandomString(2) + return s +}