源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Golang编程实现生成n个从a到b不重复随机数的方法

  • 时间:2021-02-04 10:08 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Golang编程实现生成n个从a到b不重复随机数的方法
本文实例讲述了Golang编程实现生成n个从a到b不重复随机数的方法。分享给大家供大家参考,具体如下: 代码很简单:
[u]复制代码[/u] 代码如下:
package test import (     "fmt"     "math/rand"     "time" ) //生成若干个不重复的随机数 func RandomTestBase() {     //测试5次     for i := 0; i < 5; i++ {         nums := generateRandomNumber(10, 30, 10)         fmt.Println(nums)     } } //生成count个[start,end)结束的不重复的随机数 func generateRandomNumber(start int, end int, count int) []int {     //范围检查     if end < start || (end-start) < count {         return nil     }     //存放结果的slice     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 }
输出结果:
[12 20 18 19 21 28 15 13 11 10]
[28 15 12 10 20 18 16 24 27 17]
[25 28 29 19 21 12 16 13 11 15]
[27 20 19 23 18 13 21 24 12 26]
[19 10 27 18 28 12 22 14 16 26]

希望本文所述对大家Go语言程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部