为了账号安全,请及时绑定邮箱和手机立即绑定

有没有可以与 boost::uniform_int 相媲美的 Go 函数?

有没有可以与 boost::uniform_int 相媲美的 Go 函数?

Go
杨__羊羊 2023-07-17 17:55:11
我正在将一个工具从 C++ 翻译成 Go。C++ 工具使用 boost::random 库并调用 boost::uniform_int。我想知道 Go 中是否有类似的&ldquo;开箱即用&rdquo;功能。如果没有,我需要一些帮助来构建我自己的。我梳理了 Go 的 math/rand 包,但没有找到任何明显等效的东西。这是C++工具中的函数声明/调用boost::uniform_int<unsigned int> randomDistOp(1, 100);
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

该Intn方法应该给你你想要的。


package main


import (

    "fmt"

    "math/rand"

    "time"

)


func main() {

    r := rand.New(rand.NewSource(time.Now().UnixNano()))

    fmt.Println(1 + r.Intn(100))

}

这提供了 [0, n) 中的均匀随机整数。要设置不同的下限,只需将其添加到结果中即可。需要明确的是,Intn(100)将返回 100 以内但不包括 100 的数字,因此加 1 将为您提供从 1 到 100 的正确范围。


查看完整回答
反对 回复 2023-07-17
  • 1 回答
  • 0 关注
  • 67 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信