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

如何从 Golang 中的一系列随机数中进行选择?

如何从 Golang 中的一系列随机数中进行选择?

Go
沧海一幻觉 2021-12-13 11:02:30
从下面的代码中,我可以从一组随机数0-4选择(5)作为perm的参数时选择0-4。但是,我想从不同的范围(例如 6-10)中选择随机数。请问我怎么能做到这一点?r := rand.New(rand.NewSource(time.Now().UnixNano()))i := r.Perm(5)fmt.Printf("%v\n", i)fmt.Printf("%d\n", i[0])fmt.Printf("%d\n", i[1])
查看完整描述

2 回答

?
白衣染霜花

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

例如,


package main


import (

    "fmt"

    "math/rand"

    "time"

)


func main() {

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

    min, max := 6, 10

    p := r.Perm(max - min + 1)

    fmt.Println(p)

    for i := range p {

        p[i] += min

    }

    fmt.Println(p)


    for _, r := range p {

        fmt.Println(r)

    }

}

输出:


[1 2 3 4 0]

[7 8 9 10 6]

7

8

9

10

6


查看完整回答
反对 回复 2021-12-13
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

func RandomInt(min int, max int) int {

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

    p := r.Perm(max - min + 1)

    return p[min]

}

基于@peterSO 提供的答案


查看完整回答
反对 回复 2021-12-13
  • 2 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

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