如何获得一组未在集合中重复的随机数?
去:
for i := 0; i < 10; i++ {
v := rand.Intn(100)
fmt.Println(v)
}
这有时给我两个或三个相同的数字。我希望他们所有人都不同。我该怎么做?
答案 0 :(得分:12)
例如,
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
p := rand.Perm(100)
for _, r := range p[:10] {
fmt.Println(r)
}
}
输出:
87
75
89
74
17
32
56
44
36
0
游乐场: