gpt4 book ai didi

go - 在自定义范围内生成随机数

转载 作者:IT王子 更新时间:2023-10-29 02:36:16 25 4
gpt4 key购买 nike

我的 go 脚本以“localhost:8080/1”开头,带有previousnext 链接我需要添加Random 链接具有自定义范围,我可以像这样更改:

  • 小数字,例如 100 到 200 "localhost:8080/100 - 200"和
  • 甚至是大数字,例如:“16567684686592643791596485465456223131545455682945955”

所以:

// Get next and previous page numbers

previous := new(big.Int).Sub(page, one)
next := new(big.Int).Add(page, one)
random :=????

最佳答案

您需要使用包 crypto.rand Int()函数,它确实支持 big.Int(与 math.rand package 相对)

参见 this article (及其 playground example ):

package main

import (
"fmt"
"math/big"
"crypto/rand"
)

func main() {
var prime1, _ = new(big.Int).SetString("21888242871839275222246405745257275088548364400416034343698204186575808495617", 10)
// Generate random numbers in range [0..prime1]
// Ignore error values
// Don't use this code to generate secret keys that protect important stuff!
x, _ := rand.Int(rand.Reader, prime1)
y, _ := rand.Int(rand.Reader, prime1)
fmt.Printf("x: %v\n", x)
fmt.Printf("y: %v\n", y)

}

关于go - 在自定义范围内生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52675827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com