• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Golang > Golang编程实现生成n个从a到b不重复随机数的方法

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了golang 随机数,golang 随机,golang 网络编程,golang,golang语言等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了Golang编程实现生成n个从a到b不重复随机数的方法。分享给大家供大家参考,具体如下:

代码很简单:
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
}</div>

输出结果:

[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]

</div>

希望本文所述对大家Go语言程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • 利用Golang生成整数随机数方法示例
  • Golang编程实现生成n个从a到b不重复随机数的方法

相关文章

  • Go语言中常量定义方法实例分析
  • Golang学习笔记(五):函数
  • Go语言如何并发超时处理详解
  • Go语言实现的一个简单Web服务器
  • Windows下使用go语言写程序安装配置实例
  • 深入解析Go语言中for循环的写法
  • go语言中时间戳格式化的方法
  • Go语言清除文件中空行的方法
  • 在Linux系统中安装Go语言的详细教程
  • Go语言命令行操作命令详细介绍

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Go语言导出内容到Excel的方法
    • Go语言struct类型介绍
    • go语言实现通过FTP库自动上传web日志
    • Go语言计算两个经度和纬度之间距离的方法
    • Go语言中new()和 make()的区别详解
    • Win7环境下搭建Go开发环境(基于VSCode编辑器)
    • GO 语言学习指南
    • Go语言MessageBox用法实例
    • Go语言使用组合的方式实现多继承的方法
    • golang实现unicode转换为字符串string的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有