gpt4 book ai didi

random - 去 rand.Intn 相同的数字/值

转载 作者:IT老高 更新时间:2023-10-28 13:04:40 25 4
gpt4 key购买 nike

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

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

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

最佳答案

2 个原因:

  1. 你必须初始化全局Sourcerand.Intn() 使用和 rand 包的其他函数使用 rand.Seed() .例如:

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

    查看Difficulty with Go Rand package 的可能重复项.
    引用 rand 的包文档:

    Top-level functions, such as Float64 and Int, use a default shared Source that produces a deterministic sequence of values each time a program is run. Use the Seed function to initialize the default Source if different behavior is required for each run.

  2. TourGo Playground 上运行示例缓存其输出。
    详情见 Why does count++ (instead of count = count + 1) change the way the map is returned in Golang .

关于random - 去 rand.Intn 相同的数字/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39529364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com