取int64的随机数组
这个是根据最大数字取出指定数量不重复的数字的函数。
func generateUniqueRandomNumbers(max int64, count int) []int64 {
if count > int(max) {
return nil
}
randomNumbers := make(map[int64]struct{})
for len(randomNumbers) < count {
randomNumber := rand.Int63n(max-1) + 1
if _, exists := randomNumbers[randomNumber]; !exists {
randomNumbers[randomNumber] = struct{}{}
}
}
var randomNumbersSlice []int64
for k := range randomNumbers {
randomNumbersSlice = append(randomNumbersSlice, k)
}
return randomNumbersSlice
}
取int32的随机数组
如果只是想简单取一下int32的可以用这个代码
randomIndices := rand.Perm(1000)[:20]
这个代码更简单,但取出的 []int,会包含0,如果不需要0的可以再根据自己需要的处理下