中文文档:https://studygolang.com/pkgdoc

1.1. 生成随机数的例子如下:

需要用到math/rand包。

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {

    fmt.Println("n",rand.Intn(100)) //没有设置seed,每次都生成一个固定的值81

    //time.Now().Unix() 返回从1971-01-01到当前时间的秒数。
    //为了生成随机数,需要给rand设置一个随机数种子。否则每次生成调用Intn(n int) 都生成一个固定的值。
    rand.Seed(time.Now().Unix())
    //Intn(n int) 返回一个取值范围在[0,n)的伪随机int值,如果n<=0会panic。
    fmt.Println("n",rand.Intn(100))
}

要注意几点:

  1. 为了生成随机数,需要给rand设置一个随机数种子。否则每次生成调用Intn(n int) 都生成一个固定的值。
  2. rand的 Intn(n int) 方法返回一个取值范围在[0,n)的伪随机int值,如果n<=0会panic。
  3. time.Now().Unix() 返回从1971-01-01到当前时间的秒数。

results matching ""

    No results matching ""