本文摘自php中文网,作者V,侵删。

代码示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | package test
import (
"fmt"
"math/rand"
"time"
)
func RandomTestBase() {
for i := 0; i < 5; i++ {
nums := generateRandomNumber(10, 30, 10)
fmt.Println(nums)
}
}
func generateRandomNumber(start int, end int, count int) []int {
if end < start || ( end -start) < count {
return nil
}
nums := make([]int, 0)
r := rand.New(rand.NewSource(time.Now().UnixNano()))
for len(nums) < count {
num := r.Intn(( end - start)) + start
exist := false
for _, v := range nums {
if v == num {
exist = true
break
}
}
if !exist {
nums = append(nums, num)
}
}
return nums
}
|
输出结果如图:
阅读剩余部分
相关阅读 >>
go bool
golang接口可以嵌套吗
gfast 工作流引擎 1.0 开源发布
golang 语言的标准库 log 包怎么使用?
手撸golang 基本数据结构与算法 堆
手撸golang 行为型设计模式 中介者模式
如何使用golang的pprof包对程序进行性能分析
golang如何调用函数?
go语言基础之map
golang中的空接口使用
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » golang实现生成不重复随机数