Golang 固定位数 随机不重复字串 生成库
//【固定位数】【随机不重复数字】生成库 github.com/goodlucktou/random
package random
import (
"crypto/rand"
"fmt"
)
var strstr = []byte("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
// GetUID ...
func GetUID() string {
data := make([]byte, 16)
_, err := rand.Read(data)
if err != nil {
panic(err)
}
uuid := fmt.Sprintf("%X-%X-%X-%X-%X", data[0:4], data[4:6], data[6:8], data[8:10], data[10:])
return uuid
}
// GetString ...【固定位数】【随机不重复数字】生成库
func GetString(size int) string {
data := make([]byte, size)
out := make([]byte, size)
buffer := len(strstr)
_, err := rand.Read(data)
if err != nil {
panic(err)
}
for id, key := range data {
x := byte(int(key) % buffer)
out[id] = strstr[x]
}
return string(out)
}
//主函数
package main
import (
"fmt"
random "github.com/goodlucktou/random"
)
func main() {
for i:=0 ;i <5;i++ {
fmt.Printf("%s \n", random.GetString(12))
}
//var str = random.GetUID()
//fmt.Printf("ggg %s \n", str)
}
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题