golang生成指定位数的随机数的方法

1.随机数

随机数,是使用一个确定性的算法计算出来随机数序。在程序开发中经常需要产生随机数,如随机数验证码登陆、作为唯一身份标识数据等等。

2.rand库

golang中产生随机数主要有两个包,分别是“math/rand”和“crypto/rand”。
“math/rand”的rand包实现了伪随机数生成器。
"crypto/rand"的rand包实现了用于加解密的更安全的随机数生成器。

3.生成指定位数随机数

以生成六位随机数为例

package main
import (
  "fmt"
  "math/rand"
  )
func CreateCaptcha() string {
  return fmt.Sprintf("%06v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(1000000))
}
func main(){
  fmt.Println(CreateCaptcha() )
}

输出结果:

同理生成八位随机数只需修改产生随机数参数即可

func CreateCaptcha() string {
  return fmt.Sprintf("%08v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(100000000))
}

依次类推,需要其他指定位数的随机数时均可通过修改上述参数产生。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

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

    本文实例讲述了Golang编程实现生成n个从a到b不重复随机数的方法.分享给大家供大家参考,具体如下: 代码很简单: 复制代码 代码如下: package test import (     "fmt"     "math/rand"     "time" ) //生成若干个不重复的随机数 func RandomTestBase() {     //测试5次     for i := 0; i < 5; i++ {         nums

  • golang生成指定位数的随机数的方法

    1.随机数 随机数,是使用一个确定性的算法计算出来随机数序.在程序开发中经常需要产生随机数,如随机数验证码登陆.作为唯一身份标识数据等等. 2.rand库 golang中产生随机数主要有两个包,分别是"math/rand"和"crypto/rand". "math/rand"的rand包实现了伪随机数生成器. "crypto/rand"的rand包实现了用于加解密的更安全的随机数生成器. 3.生成指定位数随机数 以生成六位随机

  • mysql生成指定位数的随机数及批量生成随机数的方法

    1. 先介绍几个常用的 MySQL 函数 RAND()    随机生成 0~1 之间的小数(0<1) CEILING    向上取整 FLOOR    向下取整 2. 生成随机数 -- 生成 3 位的随机数 SELECT CEILING(RAND()*900+100); -- 生成 4 位的随机数 SELECT CEILING(RAND()*9000+1000); -- 生成 5 位的随机数 SELECT CEILING(RAND()*90000+10000); ... 示例: 解释一下: --

  • asp实现生成由数字,大写字母,小写字母指定位数的随机数

    <% '****************************** '函数:gen_key(digits) '参数:digits----要生成随机数的位数 '作者:阿里西西 '日期:2007/7/13 '描述:生成由数字,大写字母,小写字母指定位数的随机数:返回值:要生成的指定倍数的随机数 '示例:<%=gen_key(8)%> '****************************** Function gen_key(digits) '定义并初始化数组     dim char

  • 原生JS生成指定位数的验证码

    使用原生JS生成指定位数的验证码,验证码包括字母和数字 ##思路:使用String的fromCharCode方法将给定范围的随机数转为大小写字母,再通过随机数决定数组当前位置为大写字母,小写字母或者是数字,函数传入的参数当做该数组的长度,随机填好数组后,对数组内的元素做分情况处理:当该数组内没有数字时,需要随机修改一个字母为一个随机的数字:当该数组没有字母时,需随机修改一个数字为大写或者小写字母:正常情况下的有字母也有数字不做处理,每个判断语句的最后使用数组的join方法将该数组转换为字符串并r

  • PHP动态生成指定大小随机图片的方法

    本文实例讲述了PHP动态生成指定大小随机图片的方法.分享给大家供大家参考,具体如下: <?php $image_width = 100; $image_height = 100; $image_str = ''; if (isset($_GET['w'])) { $image_width = intval($_GET['w']); } if (isset($_GET['h'])) { $image_height = intval($_GET['h']); } if (isset($_GET['s

  • JavaScript简单生成 N~M 之间随机数的方法

    本文实例讲述了JavaScript简单生成 N~M 之间随机数的方法.分享给大家供大家参考,具体如下: getRandom.js: /** * Created with JetBrains PhpStorm. * User: lee * To change this template use File | Settings | File Templates. */ //获取一个随机数,在max,min之间 //max 需大于 min //如果输入 10,则产生 0~9 的数 //如果输入 10,

  • javascript获取指定区间范围随机数的方法

    如下所示: //获取指定区间范围随机数,包括lowerValue和upperValue function randomFrom(lowerValue,upperValue) { return Math.floor(Math.random() * (upperValue - lowerValue + 1) + lowerValue); } //如获取2-6之间的随机数 alert(randomFrom(2,6)); //如获取1-10之间的随机数 alert(randomFrom(1,10));

  • 如何用java生成指定范围的随机数

    要生成在[min,max]之间的随机整数, package edu.sjtu.erplab.io; import java.util.Random; public class RandomTest { public static void main(String[] args) { int max=20; int min=10; Random random = new Random(); int s = random.nextInt(max)%(max-min+1) + min; System.

  • python+pandas生成指定日期和重采样的方法

    python 日期的范围.频率.重采样以及频率转换 pandas有一整套的标准时间序列频率以及用于重采样.频率推断.生成固定频率日期范围的工具. 生成指定日期范围的范围 pandas.date_range()用于生成指定长度的DatatimeIndex: 1)默认情况下,date_range会按着时间间隔为天的方式生成从给定开始到结束时间的时间戳数组: 2)如果只指定开始或结束时间,还需要periods标定时间长度. import pandas as pd pd.date_range('2017

  • Javascript 生成指定范围数值随机数

    不过经过俺的小小努力之后, 终于让俺摸着门道喽, 问题也就理所当然滴解决掉. 然后就写了个公式, 这样应该可以消失掉这个用法了, 公式: 1. 从1开始 至 任意值 linenum parseInt(Math.random()*上限+1); 2. 从任意值开始 至 任意值 linenum parseInt(Math.random()*(上限-下限+1)+下限); 上面的公式使用了 parseInt(), 因此要加1; 如果使用 Math.ceil() 则不需要加1, 俺习惯于这样写... 目录:

随机推荐