36 lines
576 B
Go
36 lines
576 B
Go
package random
|
|
|
|
import (
|
|
"math/rand"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
const alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
|
|
|
func init() {
|
|
rand.Seed(time.Now().UnixNano())
|
|
}
|
|
|
|
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()
|
|
}
|
|
|
|
func RandomInt(n int) string {
|
|
var letters = []byte("0123456789")
|
|
l := len(letters)
|
|
result := make([]byte, n)
|
|
for i := range result {
|
|
result[i] = letters[rand.Intn(l)]
|
|
}
|
|
return string(result)
|
|
}
|