Golang 如何获取Int63n类型的随机数
Go语言通过math/rand包提供了内置支持来生成指定类型的随机数。此包实现了伪随机数生成器。这些随机数由源产生,每次程序运行时源会产生一个确定性值序列。如果您需要用于安全敏感工作的随机数,则可以使用crypto/rand包。
您可以使用math/rand包提供的Int63n()函数从默认源生成63位整数n的int64类型的非负伪随机数[0,n)。因此,您需要使用import关键字在程序中添加math/rand包以及访问Int63n()函数。 如果n的值小于等于0,则此方法将引发错误。
语法:
func Int63n(n int64) int64
让我们通过以下示例来说明这个概念:
示例1:
// Golang程序演示如何
//获取int63n类型的随机数
package main
import (
"fmt"
"math/rand"
)
// 主函数
func main() {
// 使用Int63n()函数
//生成int63n类型的随机数
res_1 := rand.Int63n(7)
res_2 := rand.Int63n(3)
res_3 := rand.Int63n(1)
// 显示结果
fmt.Println("随机数字1: ", res_1)
fmt.Println("随机数字2: ", res_2)
fmt.Println("随机数字3: ", res_3)
}
输出:
随机数字1: 5
随机数字2: 1
随机数字3: 0
示例2:
// Golang程序演示如何
//获取int63n类型的随机数
package main
import (
"fmt"
"math/rand"
)
// 函数
func int63nrandom(value_1, value_2 int64) int64 {
return value_1 + value_2 + rand.Int63n(4)
}
// 主函数
func main() {
// 从Int63nrandom()函数获取结果
res1 := int63nrandom(10, 3)
res2 := int63nrandom(430, 56)
res3 := int63nrandom(13, 500)
// 显示结果
fmt.Println("结果1: ", res1)
fmt.Println("结果2: ", res2)
fmt.Println("结果3: ", res3)
}
输出:
结果1: 15
结果2: 489
结果3: 514
极客教程