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

从下面的代码中,我可以从一组随机数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])


沧海一幻觉
浏览 203回答 2
2回答

白衣染霜花

例如,package mainimport (    "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]789106

料青山看我应如是

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 提供的答案
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go