-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrandomgen.go
40 lines (33 loc) · 890 Bytes
/
randomgen.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package main
import (
"crypto/rand"
)
// Get a random string from an array of strings
func randFromArr(arr []string) string {
var x string
for {
oneB := make([]byte, 1)
rand.Read(oneB)
if int(oneB[0]) < len(arr) {
x = arr[oneB[0]]
break
}
}
return x
}
// Generate an id
func getRandom() string {
vows := []string {"a", "e", "i", "o", "ee", "ea", "oo", "y", "ai", ""}
cons := []string {"b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p",
"r", "s", "t", "v", "w", "x", "ch", "ll", "sh", "mb", "kn", "th", "", "pp"}
nums := []string {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "", "!", "?"}
build := ""
build += randFromArr(cons)
build += randFromArr(vows)
build += randFromArr(cons)
build += randFromArr(vows)
build += randFromArr(cons)
build += randFromArr(nums)
build += randFromArr(nums)
return build
}