很多程序开始之前都有这个代码: `rand.Seed(time.Now().UnixNano())`。
这个代码大概意思是为每个程序生成一个固定的随机值,但是这个写法很奇怪,只是执行了个函数,这个函数没有给任何变量赋值,生成的值又没有保存,那它如何做到这点的呢?还是说理解得不对?
这是种子的问题。
你可以试试不设置,然后重复运行程序,会发现随机数不随机。因为计算机的随机是伪随机。
通过设置当前时间,可以让程序每次运行时,随机数不同。
#2
更多评论