rand.Intn()
函数是个伪随机函数,不管运行多少次都只会返回同样的随机数,因为它默认的资源就是单一值,所以必须调用 rand.Seed()
, 并且传入一个变化的值作为参数,如 time.Now().UnixNano()
, 就是可以生成时刻变化的值。rand.Intn(n)
返回值为 [0,n)
之间的整数。
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 初始化随机数的资源库, 如果不执行这行, 不管运行多少次都返回同样的值
rand.Seed(time.Now().UnixNano())
// rand.Intn(100) 返回随机值为 0-99
fmt.Println("A number from 1-100:", 1+rand.Intn(100))
}
原文作者:Rachel
转自链接:https://learnku.com/articles/26011
快来评论一下吧!
发表评论