Go 为什么每次运行程序时,math/rand包中的rand.Intn()函数都会生成相同的随机数序列?

Go 为什么每次运行程序时,math/rand包中的rand.Intn()函数都会生成相同的随机数序列?,go,slice,Go,Slice,我使用rand.Intn(n int)函数交换片内的元素,但每次运行程序时,输出的都是片内元素的相同随机序列 我在这里遗漏了什么明显的东西?来自 如果每次运行需要不同的行为,请使用Seed函数初始化默认源 如果未调用Seed,则生成器的行为与Seed(1)的行为相同 默认情况下,每次运行都会获得相同的种子 您可以使用当前时间作为种子来获得确定性较小的序列 rand.Seed(time.Now().UTC().UnixNano()) 打开一本手册,阅读软件包概述:感谢您指出,这是我第一次遇到这种

我使用rand.Intn(n int)函数交换片内的元素,但每次运行程序时,输出的都是片内元素的相同随机序列

我在这里遗漏了什么明显的东西?

来自

如果每次运行需要不同的行为,请使用Seed函数初始化默认源

如果未调用Seed,则生成器的行为与Seed(1)的行为相同

默认情况下,每次运行都会获得相同的种子

您可以使用当前时间作为种子来获得确定性较小的序列

rand.Seed(time.Now().UTC().UnixNano())

打开一本手册,阅读软件包概述:感谢您指出,这是我第一次遇到这种情况。