Go rand.Intn相同的数字/值

谁能告诉我为什么这里的Go示例:

https://tour.golang.org/basics/1

总是为rand.Intn(10)返回相同的值?

回答:

2个原因:

  1. 你必须initalize全球Source所使用rand.Intn()和其他功能的rand使用包rand.Seed()。例如:
    rand.Seed(time.Now().UnixNano())

使用Go Rand软件包查看Difficulty的可能重复项。 引用以下文件的doc rand

诸如Float64和Int之类的顶级函数使用默认的共享源 源

  1. 在巡回赛上运行的例子去游乐场,它可以缓存其输出。

    请参阅[为什么count ++(而不是count = count +1)更改Golang中返回地图的方式的详细信息)。

以上是 Go rand.Intn相同的数字/值 的全部内容, 来源链接: utcz.com/qa/434632.html

回到顶部