package random import ( "math/rand" ) var numSeq [10]rune var lowerSeq [26]rune var upperSeq [26]rune var numLowerSeq [36]rune var numUpperSeq [36]rune var allSeq [62]rune func init() { for i := 0; i < 10; i++ { numSeq[i] = rune('0' + i) } for i := 0; i < 26; i++ { lowerSeq[i] = rune('a' + i) upperSeq[i] = rune('A' + i) } copy(numLowerSeq[:], numSeq[:]) copy(numLowerSeq[len(numSeq):], lowerSeq[:]) copy(numUpperSeq[:], numSeq[:]) copy(numUpperSeq[len(numSeq):], upperSeq[:]) copy(allSeq[:], numSeq[:]) copy(allSeq[len(numSeq):], lowerSeq[:]) copy(allSeq[len(numSeq)+len(lowerSeq):], upperSeq[:]) } func Seq(n int) string { runes := make([]rune, n) for i := 0; i < n; i++ { runes[i] = allSeq[rand.Intn(len(allSeq))] } return string(runes) } func Num(n int) int { return rand.Intn(n) }