📅  最后修改于: 2023-12-03 15:08:37.278000             🧑  作者: Mango
在 Golang 中,我们可以使用 math/rand
包中提供的函数来获取随机数。其中,Int31n
函数可以用来生成范围在 [0, n) 之间的随机整数。
下面是获取一个 Int31n
类型的随机数的示例代码:
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 初始化随机数生成器
rand.Seed(time.Now().UnixNano())
// 生成 0 到 100 之间的随机整数(不包括 100)
randomInt := rand.Int31n(100)
fmt.Println(randomInt)
}
解释一下上面的代码:
rand.Seed
函数用于初始化随机数生成器。我们一般使用当前时间的纳秒数作为种子,以保证每次运行程序生成的随机数都不一样。rand.Int31n
函数可以生成一个范围在 [0, n) 之间的随机整数。例如,rand.Int31n(100)
可以生成一个 0 到 99 之间的随机整数。注意,不包括 n 本身。下面是一个类似的示例代码,可以生成一组 Int31n
类型的随机数:
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 初始化随机数生成器
rand.Seed(time.Now().UnixNano())
// 生成 10 个 0 到 100 之间的随机整数(不包括 100)
for i := 0; i < 10; i++ {
randomInt := rand.Int31n(100)
fmt.Println(randomInt)
}
}
总结一下,我们可以使用 rand.Int31n
函数来生成一个范围在 [0, n) 之间的随机整数。在使用之前,需要先用 rand.Seed
函数初始化随机数生成器。