用go语言生成随机数,我们经常用到 math/rand 包,可以先播种一个随机数,然后再返回整型的数据数
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
for i := 0; i < 10; i++ {
rand.Seed(time.Now().UnixNano()) //播种一个纳米时间戳
fmt.Printf("Rand: %d\n", rand.Intn(30)) //返回30以内的随机数
}
}
随机数结果
Rand: 21
Rand: 4
Rand: 24
Rand: 21
Rand: 19
Rand: 26
Rand: 23
Rand: 3
Rand: 2
Rand: 12
生成0-1之间的小数随机数
for i := 0; i < 10; i++ {
fmt.Printf("Rand: %.2f\n", rand.Float64())
}
Rand: 0.60
Rand: 0.94
Rand: 0.66
Rand: 0.44
Rand: 0.42
Rand: 0.69
Rand: 0.07
Rand: 0.16
Rand: 0.10
Rand: 0.30