在Go语言中生成随机数需要使用Seed(value)
函数来提供伪随机数生成种子,一般情况下都会使用当前时间的纳秒数字,如果不在生成随机数之前调用该函数,那么每次生成的随机数都是一样的。
函数rand.Float32
和rand.Float64
返回介于[0.0,1.0)之间的伪随机数,其中包括0.0但不包括1.0。函数rand.Intn(value)
返回介于[0,value)之间的伪随机数。
package mainimport (
"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()) }
}