Go-生成随机数

####生成随机数----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))
}

你可能感兴趣的:(golang)