为了账号安全,请及时绑定邮箱和手机立即绑定

Golang随机值生成算法

标签:
Go

package mainimport (    "crypto/rand"    "fmt")var strstr = []byte("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")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}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)}func main(){    fmt.Println(GetUID())    fmt.Println(GetString(8))}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Python工程师
手记
粉丝
63
获赞与收藏
531

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消