2016-02-12 67 views
0

从我的代码下面我可以选择一组随机数0-4当(5)被选为参数的烫发。不过,我想选择不同范围的随机数,如6-10。我将如何能够做到这一点?如何从Golang的一系列随机数中进行选择?

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]) 
+0

为了得到一个数字,这6高的答案,加6。 – hobbs

回答

1

例如,

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 
0
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提供

相关问题