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关闭chan通道的方法示例

    golang关闭chan通道的方法示例

    在go语言中,通道(channel)是一个非常重要的概念,通道提供了一种在不同 goroutine 之间安全地传递数据的方式,在本文中,我们将讨论如何关闭通道以及在关闭通道时需要考虑的事项,需要的朋友可以参考下
    2024-02-02
  • Go语言bufio库的全面指南与实战技巧详解

    Go语言bufio库的全面指南与实战技巧详解

    这篇文章主要为大家全面介绍一下 bufio 库的核心组件与功能,包括 Reader、Writer 和 Scanner 等并深入探讨它们在实际编程中的运用场景和技巧,感兴趣的可以了解下
    2024-01-01
  • Go语言中的内存布局详解

    Go语言中的内存布局详解

    这篇文章主要给大家介绍了Go语言中的内存布局,那么本文中将尝试解释Go如何在内存中构建结构体,以及结构体在字节和比特位方面是什么样子。 有需要的朋友们可以参考借鉴,感兴趣的朋友们下面来跟着小编一起学习学习吧。
    2016-11-11
  • Go语言中常见的文件操作分享

    Go语言中常见的文件操作分享

    文件操作应该是应用程序里非常常见的一种操作,无论是哪种应用场景,几乎都离不开文件的基本操作。Go语言中提供了三个不同的包去处理文件,下午就来说说它们的具体使用
    2023-01-01
  • Golang 空map和未初始化map的注意事项说明

    Golang 空map和未初始化map的注意事项说明

    这篇文章主要介绍了Golang 空map和未初始化map的注意事项说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Go连接数据库操作基础讲解

    Go连接数据库操作基础讲解

    这篇文章主要为大家介绍了Go连接数据库操作基础讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 关于golang struct 中的 slice 无法原子赋值的问题

    关于golang struct 中的 slice 无法原子赋值的问题

    这篇文章主要介绍了为什么 golang struct 中的 slice 无法原子赋值的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • Go语言并发技术详解

    Go语言并发技术详解

    这篇文章主要介绍了Go语言并发技术详解,本文讲解了goroutine、channels、Buffered Channels、Range和Close等内容,需要的朋友可以参考下
    2014-10-10
  • Golang实现自己的Redis数据库内存实例探究

    Golang实现自己的Redis数据库内存实例探究

    这篇文章主要为大家介绍了Golang实现自己的Redis数据库内存实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Go语言七篇入门教程七GC垃圾回收三色标记

    Go语言七篇入门教程七GC垃圾回收三色标记

    这篇文章主要为大家介绍了Go语言教程关于GC垃圾回收三色标记的示例详解,本篇文章是Go语言七篇入门教程系列文章,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11

最新评论