在Go语言中生成随机数需要使用Seed(value) 函数来提供伪随机数生成种子,一般情况下都会使用当前时间的纳秒数字,如果不在生成随机数之前调用该函数,那么每次生成的随机数都是一样的。
函数rand.Float32 和rand.Float64 返回介于[0.0, 1.0)之间的伪随机数,其中包括0.0但不包括1.0。函数rand.Intn(value) 返回介于[0,value)之间的伪随机数。
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
nanotime := int64(time.Now().Nanosecond())
rand.Seed(nanotime)
for i := 0; i < 10; i++ {
fmt.Printf("%2.2f ", 100 * rand.Float32())
}
}
|
请发表评论