package utils import ( "math/rand" "time" ) const ( letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" letterIndexBits = 6 // 6 bits to represent a letter index letterIndexMask = 1<= 0; { if remain == 0 { cache, remain = src.Int63(), letterIndexMax } if letterIndex := int(cache & letterIndexMask); letterIndex < len(letterBytes) { bytes[bytesIndex] = letterBytes[letterIndex] bytesIndex-- } cache >>= letterIndexBits remain-- } return string(bytes) }