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

 更新时间:2019年10月09日 09:18:39   作者:TigerwolfC  
这篇文章主要介绍了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如何让string转int64

    golang如何让string转int64

    这篇文章主要介绍了golang如何让string转int64问题,
    2024-02-02
  • golang通过context控制并发的应用场景实现

    golang通过context控制并发的应用场景实现

    这篇文章主要介绍了golang通过context控制并发的应用场景实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • golang中beego入门

    golang中beego入门

    Beego是一个基于Go语言的开源框架,用于构建Web应用程序和API,本文主要介绍了golang中beego入门,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Go语言实现UDP协议及TCP通讯

    Go语言实现UDP协议及TCP通讯

    这篇文章介绍了Go语言实现UDP协议及TCP通讯的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • golang beyla采集trace程序原理源码解析

    golang beyla采集trace程序原理源码解析

    beyla支持通过ebpf,无侵入的、自动采集应用程序的trace信息,本文以golang的nethttp为例,讲述beyla对trace的采集的实现原理,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2024-02-02
  • 用Go+WebSocket快速实现一个chat服务

    用Go+WebSocket快速实现一个chat服务

    这篇文章主要介绍了用Go+WebSocket快速实现一个chat服务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 使用golang获取linux上文件的访问/创建/修改时间

    使用golang获取linux上文件的访问/创建/修改时间

    这篇文章主要介绍了使用golang获取linux上文件的访问/创建/修改时间,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • go code review 代码调试

    go code review 代码调试

    这篇文章主要为大家介绍了go code review 代码调试方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Go开发神器Air热加载的安装使用探究

    Go开发神器Air热加载的安装使用探究

    这篇文章主要介绍了Go开发神器Air热加载使用实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Golang极简入门教程(四):编写第一个项目

    Golang极简入门教程(四):编写第一个项目

    这篇文章主要介绍了Golang极简入门教程(四):编写第一个项目,本文讲解了workspace、包路径、第一个可执行命令等内容,需要的朋友可以参考下
    2014-10-10

最新评论