2021-02-23 02:40:43 +00:00
|
|
|
package utils
|
|
|
|
|
|
|
|
import (
|
2021-06-06 05:05:05 +00:00
|
|
|
"fmt"
|
2021-02-23 02:40:43 +00:00
|
|
|
"math/rand"
|
2021-06-06 05:05:05 +00:00
|
|
|
"strings"
|
2021-02-23 02:40:43 +00:00
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
var characters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890")
|
|
|
|
|
|
|
|
func RandomSequence(n int) string {
|
|
|
|
b := make([]rune, n)
|
|
|
|
rand.Seed(time.Now().UnixNano())
|
|
|
|
for i := range b {
|
|
|
|
b[i] = characters[rand.Intn(len(characters))]
|
|
|
|
}
|
|
|
|
return string(b)
|
|
|
|
}
|
2021-06-06 05:05:05 +00:00
|
|
|
|
|
|
|
type StrFormatMap map[string]interface{}
|
|
|
|
|
|
|
|
func StrFormat(format string, m StrFormatMap) string {
|
|
|
|
args := make([]string, len(m)*2)
|
|
|
|
i := 0
|
|
|
|
|
|
|
|
for k, v := range m {
|
|
|
|
args[i] = fmt.Sprintf("{%s}", k)
|
|
|
|
args[i+1] = fmt.Sprint(v)
|
|
|
|
i += 2
|
|
|
|
}
|
|
|
|
|
|
|
|
return strings.NewReplacer(args...).Replace(format)
|
|
|
|
}
|