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

如何正确播种随机数生成器

如何正确播种随机数生成器

Go
米琪卡哇伊 2021-05-04 10:18:38
我正在尝试在Go中生成一个随机字符串,这是我到目前为止编写的代码:package mainimport (    "bytes"    "fmt"    "math/rand"    "time")func main() {    fmt.Println(randomString(10))}func randomString(l int) string {    var result bytes.Buffer    var temp string    for i := 0; i < l; {        if string(randInt(65, 90)) != temp {            temp = string(randInt(65, 90))            result.WriteString(temp)            i++        }    }    return result.String()}func randInt(min int, max int) int {    rand.Seed(time.Now().UTC().UnixNano())    return min + rand.Intn(max-min)}我的执行速度很慢。使用进行播种time会在一定时间内带来相同的随机数,因此循环会一次又一次地迭代。如何改善我的代码?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信