Go 生成指定位数的随机数/随机字符串

生成指定位数的随机数:

代码如下: 

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

Now() Time  获取当前时间,返回Time类型

输出:2019-09-03 20:58:38.473422 +0800 CST m=+0.000168620

Unix() int64  返回时间戳,自从1970年1月1号到现在

输出:1567515533

UnixNano() int64  返回时间戳.包含纳秒

输出:1567515575893470000

Int31n(1000000)  产生0到1000000之间的随机数,返回值为int32,该类函数还有Int63()等等,用来生成相应数据类型的随机数

NewSource返回一个以给定值播种的新随机源。

New返回一个新的Rand,它使用src(传入的参数)中的随机值生成其他随机值。

位数可以通过格式化输出进行调整,如把代码中的"%06v"改为"%08v"

生成随机字符串:

代码如下:

package problem

import (
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值