📅  最后修改于: 2023-12-03 15:24:10.906000             🧑  作者: Mango
在 Golang 中获取 Uint64 类型的随机数可以使用标准库中的 math/rand 包,其中的 Uint64 函数可以产生一个范围在 [0, 1<<64) 的伪随机数。
下面是获取 Uint64 类型的随机数的步骤:
import "math/rand"
rand.Uint64()
如果没有设置随机数生成器的种子,每次生成的随机数都是相同的序列。以下是种子的两种设置方式:
import "time"
rand.Seed(time.Now().UnixNano())
这种方法基于当前时间来设置种子,因此每次运行程序生成的随机数序列都是不同的。
rand.Seed(1234)
这种方法基于固定的种子来设置,因此每次运行程序生成的随机数序列都是相同的。
以下是一个完整的示例代码:
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 基于时间的种子
rand.Seed(time.Now().UnixNano())
// 生成一个 0~(1<<64)-1 的伪随机数
randomInt := rand.Uint64()
fmt.Println(randomInt)
}
使用 math/rand 包可以很方便地生成 Uint64 类型的随机数,但是这些是伪随机数,不能用于加密或者安全目的。如果需要生成高质量的随机数,请使用标准库中的 crypto/rand 包。