從下面的代碼中,我可以從一組隨機數(shù)0-4選擇(5)作為perm的參數(shù)時選擇0-4。但是,我想從不同的范圍(例如 6-10)中選擇隨機數(shù)。請問我怎么能做到這一點?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條經(jīng)驗 獲得超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

料青山看我應(yīng)如是
TA貢獻1772條經(jīng)驗 獲得超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 提供的答案
- 2 回答
- 0 關(guān)注
- 225 瀏覽
添加回答
舉報
0/150
提交
取消