使用rand包
1 2 3 4 5 6 7 8 9 10
|
package main import ( "fmt" "math/rand" ) func main() { for i := 0; i < 10; i++ { fmt.Println(rand.Intn(100)) //返回[0,100)的随机整数 } }
|
这样使用是可以产生随机数,但是程序重启后,产生的随机数和上次一样。是因为程序使用了相同的种子 1。可以使用rand.Seed(seed)来设置一个不同的种子值。
1 2 3 4 5 6 7 8 9 10 11 12 13
|
package main import ( "fmt" "math/rand" "time" ) func main() { rand.Seed(time.Now().UnixNano()) //利用当前时间的UNIX时间戳初始化rand包 for i := 0; i < 10; i++ { x := rand.Intn(100) fmt.Println(x) } }
|
产生指定数字范围内的随机数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
package main import ( "fmt" "math/rand" "time" ) func main() { for i := 0; i < 10; i++ { x := randInt(100,999) fmt.Println(x) } }
func randInt(min int , max int) int { rand.Seed(time.Now().UnixNano()) return min + rand.Intn(max-min) }
|
近期评论