赞
踩
uuid "github.com/satori/go.uuid"
func main() {
// 创建
u1, _ := uuid.NewV4()
fmt.Printf("UUIDv4: %s\n", u1)
}
"crypto/rand"
func getUuid() string {
b := make([]byte, 16)
io.ReadFull(rand.Reader, b)
b[6] = (b[6] & 0x0f) | 0x40
b[8] = (b[8] & 0x3f) | 0x80
return fmt.Sprintf("%x-%x-%x-%x-%x", b[0:4], b[4:6], b[6:8], b[8:10], b[10:])
}
//生成随机字符串 这个不怎么准 易出现相同的
func RandString(len int) string {
r := rand.New(rand.NewSource(time.Now().Unix()))
bytes := make([]byte, len)
for i := 0; i < len; i++ {
b := r.Intn(26) + 65
bytes[i] = byte(b)
}
return string(bytes)
}
//生成随机字符串 这个还是可以的
func RandString(codeLen int) string {
// 1. 定义原始字符串
rawStr := "jkwangagDGFHGSERKILMJHSNOPQR546413890_"
// 2. 定义一个buf,并且将buf交给bytes往buf中写数据
buf := make([]byte, 0, codeLen)
b := bytes.NewBuffer(buf)
// 随机从中获取
rand.Seed(time.Now().UnixNano())
for rawStrLen := len(rawStr); codeLen > 0; codeLen-- {
randNum := rand.Intn(rawStrLen)
b.WriteByte(rawStr[randNum])
}
return b.String()
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。