1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package util
- import (
- "math/rand"
- "regexp"
- "time"
- )
- const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
- const (
- letterIdxBits = 6
- letterIdxMask = 1<<letterIdxBits - 1
- letterIdxMax = 63 / letterIdxBits
- )
- func RandString(n int) string {
- result := make([]byte, n)
-
- rand.Seed(time.Now().UnixNano())
- for i, cache, remain := n-1, rand.Int63(), letterIdxMax; i >= 0; {
- if remain == 0 {
- cache, remain = rand.Int63(), letterIdxMax
- }
- if idx := int(cache & letterIdxMask); idx < len(letterBytes) {
- result[i] = letterBytes[idx]
- i--
- }
- cache >>= letterIdxBits
- remain--
- }
- return string(result)
- }
- func MsgFormat(input string) string {
-
- re := regexp.MustCompile(`\s*:\s*`)
-
- return re.ReplaceAllString(input, ":")
- }
|