先看官方文档:
func (*Rand) Intn
func (r *Rand) Intn(n int) int
返回一个取值范围在[0,n)的伪随机int值,如果n<=0会panic。
func (*Rand) Seed
func (r *Rand) Seed(seed int64)
使用给定的seed来初始化生成器到一个确定的状态。
由此可见,我们需要生成一个Seed,并且Seed是随时都变得,因此,可以使用time函数完成,具体代码如下:
package main import ( "fmt" "math/rand" "time" ) func main() { var arr [5]int rand.Seed(time.Now().Unix()) //产生Seed for i:= 0;i<len(arr) ;i++ { arr[i] = rand.Intn(100) //生成[0,100)的随机数 } fmt.Println(arr) }
结果如下: