random.go 394 Bytes
package zmisc

import "math/rand"

func RandomMultiple(count, minNum, maxNum int) []int {
	list := make([]int, 0)
	if maxNum > minNum {
		if count > maxNum-minNum {
			count = maxNum - minNum
		}
		m := make(map[int]struct{})
		for len(m) < count {
			v := minNum + rand.Intn(maxNum-minNum)
			if _, ok := m[v]; !ok {
				m[v] = struct{}{}
				list = append(list, v)
			}
		}
	}
	return list
}