- 随机数
- 随机数无处无在,比如吹泡泡游戏,需要随机时间内产生泡泡
- 随机数产生包:math/rand
- 随机数分类
- 随机整数:rand.Int( )
- 在一定范围内取随机整数:rand.Intn(N )
- 浮点数:rand.Float32( )、rand.Float64( ),产生的随机数范围[0.0, 1.0)
- 举例:
- 代码:
//产生随机数
func generalRand() {
//产生整数随机数,不限制范围大小
fmt.Println("=====产生整数随机数,不限制范围大小====")
for i := 0; i < 5; i++ {
a := rand.Int()
fmt.Printf("a= %d\n", a)
}
//产生整数随机数,限制范围大小
fmt.Println("=====产生整数随机数,限制范围大小====")
for i := 0; i < 5; i++ {
//产生不大于100的随机数
a := rand.Intn(100)
fmt.Printf("a= %d\n", a)
}
//产生浮点随机数
//设置种子:当前系统时间,强制转换成int64,因为Nanosecond返回值是int,不是int64
fmt.Println("=====产生浮点随机数,范围是[0,1)====")
rand.Seed(int64(time.Now().Nanosecond()))
for i := 0; i < 5; i++ {
//产生浮点数
a := rand.Float32()
fmt.Printf("a= %f\n", a)
}
}
- 结果:
=====产生整数随机数,不限制范围大小====
a= 134020434
a= 1597969999
a= 1721070109
a= 2068675587
a= 1237770961
=====产生整数随机数,限制范围大小====
a= 18
a= 25
a= 40
a= 56
a= 0
=====产生浮点随机数,范围是[0,1)====
a= 0.592008
a= 0.020924
a= 0.826668
a= 0.903539
a= 0.883424
- 代码: