概述
调用 rand 包
即可,重要的一点是每次生成随机数之前,都设置随机数生成种子,否则可能每次生成的随机数都一样。
例子
随机生成数字
package mainimport ( "fmt" "math/rand" "time")func main() { rand.Seed(time.Now().UnixNano()) // 以以后工夫的纳秒单位为种子 for i := 0; i < 5; i++ { fmt.Println(rand.Int()) }}// $ go run main.go// 输入如下, 你的输入应该和这里的不一样/** 6322308781580164811 8102638055079193560 8689011158917073467 6408490946268327546 2346011052422006168*/
随机生成指定区间数字
package mainimport ( "fmt" "math/rand" "time")func main() { s := rand.NewSource(time.Now().UnixNano()) // 以以后工夫的纳秒单位为种子 r := rand.New(s) for i := 0; i < 5; i++ { fmt.Println(r.Intn(10)) }}// $ go run main.go// 输入如下, 你的输入应该和这里的不一样/** 5 9 7 1 3*/