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生成指定位数的随机数的方法就介绍到这了。你我都是宇宙间一粒微尘,细小却圣洁,俯仰无愧于天地,取舍叩问过良心,可以安心地睡,快乐地醒,无憾地死,这何尝不是最美的人生!更多相关golang生成指定位数的随机数的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
golang并发编程的如何实现

golang如何实现redis的延时消息队列功能示例

golang中range在slice和map遍历中的注意事项

Golang命令行进行debug调试操作

golang的空标识符理解