📌  相关文章
📜  在 golang 中选择 1 到 5 之间的随机数 - Go 编程语言 - Go 编程语言(1)

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

在 golang 中选择 1 到 5 之间的随机数

在 golang 中,我们可以使用内置的 rand 包来生成随机数。本文将介绍如何生成指定区间内的随机数。

生成一个随机数

我们可以通过 rand.Intn() 函数来生成一个不大于指定上限的随机数。例如,可以生成一个 0 到 5 之间的随机数:

package main

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

func main() {
    // 生成随机数前必须先设置种子
    rand.Seed(time.Now().UnixNano())

    // 生成 0 到 5 之间的随机数
    r := rand.Intn(6)
    fmt.Println(r)
}

代码片段:

    // 生成随机数前必须先设置种子
    rand.Seed(time.Now().UnixNano())

    // 生成 0 到 5 之间的随机数
    r := rand.Intn(6)
    fmt.Println(r)
生成指定区间内的随机数

如果我们需要生成 1 到 5 之间的随机数,只需将上限加 1 即可:

    r := rand.Intn(5) + 1

完整的代码片段如下:

package main

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

func main() {
    // 生成随机数前必须先设置种子
    rand.Seed(time.Now().UnixNano())

    // 生成 1 到 5 之间的随机数
    r := rand.Intn(5) + 1
    fmt.Println(r)
}

代码片段:

    // 生成随机数前必须先设置种子
    rand.Seed(time.Now().UnixNano())

    // 生成 1 到 5 之间的随机数
    r := rand.Intn(5) + 1
    fmt.Println(r)

需要注意的是,为了保证每次运行程序生成的随机数都不同,我们需要在使用 rand.Seed() 函数设置种子,这里我们使用当前时间的纳秒数作为种子。