📌  相关文章
📜  如何在 Golang 中获取 Int31n 类型的随机数?(1)

📅  最后修改于: 2023-12-03 15:08:37.278000             🧑  作者: Mango

如何在 Golang 中获取 Int31n 类型的随机数?

在 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 函数初始化随机数生成器。