📅  最后修改于: 2023-12-03 14:41:32.289000             🧑  作者: Mango
rand
Seed在 Go 编程语言中,rand
包提供了生成伪随机数的功能。为了让每次运行程序时得到不同的随机数序列,我们需要设置一个种子(seed)。本文将介绍如何在 Go 中设置种子以生成随机数序列。
rand
包简介rand
包是 Go 标准库中的一个包,用于生成伪随机数。它提供了许多生成不同类型随机数的函数,例如整数、浮点数和字节序列等。为了得到不同的随机数序列,我们必须在生成随机数之前设置一个种子。
在 Go 中设置种子的方法是使用 rand.Seed(seed int64)
函数。这个函数用于初始化生成伪随机数的算法。
通常,我们使用当前时间作为种子,以确保每次运行程序时得到不同的随机数序列。以下是一个示例代码:
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 使用当前时间作为种子
rand.Seed(time.Now().UnixNano())
// 生成随机数
randomNum := rand.Intn(100)
fmt.Println(randomNum)
}
在上面的示例中,我们首先导入了 fmt
、math/rand
和 time
包。然后,我们使用 time.Now().UnixNano()
函数获取当前时间的纳秒级表示,作为种子传递给 rand.Seed()
函数。
接下来,我们使用 rand.Intn(100)
生成一个 0 到 99 之间的随机整数,并将其打印到控制台上。
请注意,种子只需设置一次即可。之后的随机数生成将基于该种子。
通过设置种子,我们可以在 Go 中生成不同的随机数序列。本文介绍了使用 rand.Seed()
函数设置种子的方法,并提供了一个示例代码。记住,每次运行程序时都会生成不同的随机数,因为种子是基于当前时间的。
要深入了解 rand
包的更多功能,请参阅 Go 官方文档。