Go的math/rand包提供了生成随机数的API,具体用法可通过go doc rand 查询
生成随机数时,以当前时间作为随机种子是个很好的选择,可以用time包生成当前时间,下面两个函数都可以:
1、下面例子表示通过Unix时间函数来生成随机数,如图:
运行结果如下:
从上图可以看出,调用了rand的Seed函数,此函数用于设置随机种子,如果不调用此函数,那么默认的种子值为1,由于随机数是固定的,如果每次都以1为随机种子开始产生随机数,那么结果都是一样的,因此需要此函数来设置随机种子。
注意:有一个可能出现的问题,如果在高并发的情况下,一般不建议使用rand包来设置随机数,因为在高并发的情况下,可能会出现时间相同的情况,就会出现相同的随机数,如果是普通的小并发情况下,每次的随机数都是不同的。
领取专属 10元无门槛券
私享最新 技术干货