📅  最后修改于: 2023-12-03 15:07:39.971000             🧑  作者: Mango
在 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()
函数设置种子,这里我们使用当前时间的纳秒数作为种子。