为什么使用获取随机数的方法返回的值总是同一个?

图片描述

代码如下:
var number = rand.Intn(139)

fmt.Println(number)

我想获得0-139之间的随机数,可是我在IDE中运行的时候,为什么总是得到的是113?

阅读 4.2k
1 个回答

因为rand是个伪随机生成器,而同一个共享源生成的随机数序列是恒定的。

想要不同的你可以这么写

r := rand.New(rand.NewSource(time.Now().UnixNano()))
number := r.Intn(139)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题