learn go random
1 package main 2 3 // 参考文档: 4 // go 基本类型和运算符 5 // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/04.5.md 6 7 // 引入需要使用的类 8 import ( 9 "fmt" // 格式化输出 10 "math/rand" // 数学随机数 11 "time" // 时间 12 ) 13 14 func main () { 15 // 获取整形随机数 16 for i := 0; i < 10; i++ { 17 a := rand.Int() 18 fmt.Printf("%d / ", a) 19 } 20 fmt.Println() 21 22 // 函数 rand.Intn 返回介于 [0, n) 之间的伪随机数。 23 for i := 0; i < 5; i++ { 24 r := rand.Intn(8) 25 fmt.Printf("%d / ", r) 26 } 27 fmt.Println() 28 29 // 使用 Seed(value) 函数来提供伪随机数的生成种子,一般情况下都会使用当前时间的纳秒级数字 30 timens := int64(time.Now().Nanosecond()) 31 rand.Seed(timens) 32 for i := 0; i < 10; i++ { 33 // 函数 rand.Float32 和 rand.Float64 返回介于 [0.0, 1.0) 之间的伪随机数,其中包括 0.0 但不包括 1.0。 34 fmt.Printf("%2.2f /", 100*rand.Float32()) 35 } 36 fmt.Println() 37 }