icz*_*cza 31
原因2:
您必须Source使用包的全局使用rand.Intn()和其他功能.例如:randrand.Seed()
rand.Seed(time.Now().UnixNano())
Run Code Online (Sandbox Code Playgroud)
查看可能与Go Rand包一起使用的难度重复.
引用包文档rand:
顶级函数(如Float64和Int)使用默认的共享源,每次运行程序时都会生成确定的值序列.如果每次运行需要不同的行为,请使用Seed函数初始化默认Source.
在巡回赛上运行的例子去游乐场,它可以缓存其输出.
详细信息请参阅为什么count ++(而不是count = count + 1)会改变Golang中返回地图的方式.
要使 rand 包中的函数正常工作,您必须设置一个“种子”值。这必须是用户决定的一个很好的随机值,因为 - 根据https://golang.org/pkg/math/rand/#Rand.Seed这是 golang 用来首先将系统设置为确定性状态的值然后根据该值生成一个数字。
要使示例代码正常工作,您可以尝试
func main() {
rand.Seed(time.Now().UnixNano())
fmt.Println("My favorite number is ", rand.Intn(10))
}
Run Code Online (Sandbox Code Playgroud)
time.Now().UnixNano 可以给出任意(类似)的数字,因为该值以“千分之一秒”为单位