当前位置 主页 > 网站技术 > 代码类 >

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

    栏目:代码类 时间:2019-10-16 12:04

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

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

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