如何在 Golang 中生成指定范围的随机整数?

admin 阅读:133 2024-05-15

golang 中,使用 rand 包中的 intn 函数可生成指定范围的随机整数。其语法为 func intn(n int) int,其中 n 是不含在内的随机整数上限。通过设置随机数种子并使用 intn(100) + 1,可以生成一个在 1 到 100(含)之间的随机整数。但需要注意 intn 生成的随机整数是伪随机的,且无法生成具有特定概率分布的随机整数。

如何在 Golang 中生成指定范围的随机整数?

如何在 Golang 中生成指定范围的随机整数?

在 Golang 中生成指定范围的随机整数非常简单,您可以使用 rand 包中的 Intn 函数。

代码语法:

func Intn(n int) int

其中,n 是随机整数的上限(不包括在内)。

实战案例:

让我们生成一个在 1 到 100(含)之间的随机整数:

package main

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

func main() {
    // 设置随机数种子
    rand.Seed(time.Now().UnixNano())

    // 生成一个在 1 到 100(含)之间的随机整数
    num := rand.Intn(100) + 1

    fmt.Println(num)
}

运行上面的程序,你会看到在命令行中打印出一个在 1 到 100 之间的随机整数。

注意事项:

  • Intn 函数生成的随机整数是伪随机的,这意味着它们是由算法而不是真正随机源(如硬币抛掷)生成的。
  • Intn 函数无法生成具有特定概率分布(例如正态分布)的随机整数。对于此类用例,您需要使用其他随机数生成方法。
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!