1 Star 0 Fork 0

曾广宇/mxx-core-v2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
random_util.go 2.06 KB
一键复制 编辑 原始数据 按行查看 历史
曾广宇 提交于 2023-04-03 05:32 . 修正mod名称
package mutil
import (
"fmt"
"gitee.com/dennis-mxx/mxx-core-v2/mexception"
"math/rand"
"strings"
"time"
)
var RandomUtil = &randomUtil{
LowerCaseAZ: []string{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"},
UpCaseAZ: []string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"},
Number: []string{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"},
All: []string{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U",
"V", "W", "X", "Y", "Z"},
}
type randomUtil struct {
LowerCaseAZ []string
UpCaseAZ []string
Number []string
All []string
}
func init() {
rand.Seed(time.Now().Unix())
}
func (domain randomUtil) Next(max int) int {
return rand.Intn(max)
}
func (domain randomUtil) NextXaz(len int) string {
result := strings.Builder{}
for i := 0; i < len; i++ {
result.WriteString(domain.LowerCaseAZ[domain.Next(26)])
}
return result.String()
}
func (domain randomUtil) NextXAZ(len int) string {
result := strings.Builder{}
for i := 0; i < len; i++ {
result.WriteString(domain.UpCaseAZ[domain.Next(26)])
}
return result.String()
}
func (domain randomUtil) NextXaZ09(len int) string {
result := strings.Builder{}
for i := 0; i < len; i++ {
result.WriteString(domain.All[domain.Next(61)])
}
return result.String()
}
func (domain randomUtil) UniqueId(prefix string, len int) string {
if len < 16 {
panic(mexception.NewException(mexception.IllegalParameterException, fmt.Sprintf("len = %v ,min len >= 16", len)))
}
result := strings.Builder{}
result.WriteString(prefix)
result.WriteString(DateUtil.Format(DateUtil.DateTimeMillNumberFormat))
for i := 0; i < len-12; i++ {
result.WriteString(domain.All[domain.Next(61)])
}
return result.String()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/dennis-mxx/mxx-core-v2.git
git@gitee.com:dennis-mxx/mxx-core-v2.git
dennis-mxx
mxx-core-v2
mxx-core-v2
v0.2.7

搜索帮助