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))
}

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

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

您可能感兴趣的文章:


  • 本文相关:
  • golang编程实现生成n个从a到b不重复随机数的方法
  • golang中for循环遍历channel时需要注意的问题详解
  • 深入剖析go语言编程中switch语句的使用
  • golang学习笔记(四):array、slice、map
  • go语言使用scp的方法实例分析
  • go语言中的方法、接口和嵌入类型详解
  • go的websocket实现原理与用法详解
  • golang算法问题之数组按指定规则排序的方法分析
  • go 值传递与引用传递的方法
  • 在go中构建并发tcp服务器
  • 详解golang中bufio包的实现原理
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved