####生成随机数----Go语言学习笔记
//导包
import {
"math/rand"
"fmt"
}
rand.Int()–生成一个随机数
num1:=rand.Int()
fmt.Println(num1)
//5577006679194
#####rand.Int(n)–生成一个[0,n-1]的随机数
num:=rand.Intn(10)//与rand.Int不同
fmt.Println(num)
//num=4
生成任意区间的随机数
num:=rand.Intn(8)+3
fmt.Println(num)//[3,10]
注意:未设置种子数,即每次的种子数没有改变,所以每次生成的随机数都是相同的。
通过时间Time类的方法改变种子数循环生成不同的随机数
首先Time类的Now()方法可以得出当前时间,其类型为Time类,而不是int类型数据。
故需将Time.Now()方法的返回值改为int型再赋值给种子数,则可以达到将种子数时刻改变的效果,即随机数达成随机,每次运行的随机数不同。
//step1:设置种子数,可以设置成时间戳
rand.Seed(time.Now().UnixNano())//UnixNani()将Now()的返回值改为时间戳
//step2:调用生成随加护的函数
for i:=0;i<10;i++{
fmt.Println(rand.Intn(100))
}