基础笔记第五课
1. 首先我们来讲讲简单的随机数的生成,随机数的话主要就是几个大点,rand,intn,seed等等。那么首先我们来讲讲seed,它是和rand配合使用,rand.seed()然后设置你想要的种子数在参数里面。然后你就可以使用例如rand.Intn(788)打印你所想要的随机数,先插讲一句intn函数,和他对应的还有一个int函数,一个intn是要在括号里面写明参数,一个int不用,然后intn是可以设置在某个范围内的随机数,例如intn(333)他的范围就是大于等于0和小于333之间,所以如果你有时候想要得到小于等于333就可以在结果后面加1就行。在设置完rand.seed()之后就可以举个例子,如果你的seed是固定的一个值例如100,这样子你的所有的得到的随机数就不会改变,所以这个时候我们就需要引入一个很有用的rand.Seed(time.Now().UnixNano(),其中的unixnano有两种,还有一种是unix,区别是:Unix将t表示为Unix时间,即从时间点January 1, 1970 UTC到时间点t所经过的时间(单位秒),UnixNano将t表示为Unix时间,即从时间点January 1, 1970 UTC到时间点t所经过的时间(单位纳秒)。如果纳秒为单位的unix时间超出了int64能表示的范围,结果是未定义的。注意这就意味着Time零值调用UnixNano方法的话,结果是未定义的 。在windows下,rand.Seed(time.Now().UnixNano())作为种子,得出的随机数并不随机。在windows下,rand.Seed(time.Now().Unix())作为种子,得出的随机数是随机的。