如果想取随机数,我们就要调用math/rand这个包这个包,所有的随机数都数计算出来的,我们传入一个值,计算机给我们返回一个随机数,这种随机数是有规律的,我们能不能取到真正的随机数呢,答案是可以的,我们可以通过时间,可以精确到秒,甚至纳秒,我们把时间作为数值传给计算机,计算机根据传入的数据给我们返回真正的随机数,那如何调取时间,我们可以调取time这个包,里面就可以调取当前时间啦
package main import ( "fmt" "math/rand" "time" ) func main() { t1:=time.Now().UnixNano()//取到当前时间,精确到纳秒 //时间戳:当前的时间,距离1970年1月1日0点0分0秒的秒值,纳秒值 rand.Seed(t1)//把当前时间作为种子传给计算机 r1:=rand.Intn(100)//这样计算机就会根据传入的种子,计算出0-100之间的随机数啦 fmt.Println(r1) }
我们还可以指定随机数的范围
指定范围:
[m,n]
rand.Intn(n-m+1)+m //取整数随机数
[m,n]
rand.Float64() * (n-m+1) +m //取小数随机数