谁能告诉我为什么这里的Go示例:
https://tour.golang.org/basics/1
总是为rand.Intn(10)返回相同的值?
2个原因:
Source
rand.Intn()
rand
rand.Seed()
rand.Seed(time.Now().UnixNano())
使用Go Rand软件包查看Difficulty的可能重复项。 引用以下文件的doc rand:
诸如Float64和Int之类的顶级函数使用默认的共享源 ,该 源 在每次运行程序时都会生成确定的值序列。 如果每次运行需要不同的行为,请使用种子函数初始化默认的源。