Go rand 随机数

rand.New(rand.NewSource(time.Now().UnixNano()))
 

func RandRegMobile() (mobile int64) {
	var randSource = rand.New(rand.NewSource(time.Now().UnixNano()))
	nano := time.Now().UnixNano()
	r := randSource.Int63() & nano
	prefix := 20 + (r/10)%10
	idx := r % 10
	if idx < 7 {
		mobile = prefix*1e9 + r%7e8
	} else if idx < 9 {
		mobile = prefix*1e9 + r%2e8 + 7e8
	} else {
		mobile = prefix*1e9 + r%1e8 + 9e8
	}

	if mobile < 2e10 || mobile >= 3e10 {
		mobile = 2e10
	}
	return
}

func RandRegMobile() (mobile int64) {
	nano := time.Now().UnixNano()
	r := rand.Uint64() + uint64(nano)
	nano1 := time.Now().UnixNano()
	r1 := (rand.Uint64() + uint64(nano1)) % 9
	idx := r % 10
	suffix := r % 1e8
	mobile = int64(2e10 + idx*1e9 + r1*1e8 + suffix)
	if mobile < 2e10 || mobile >= 3e10 {
		mobile = 2e10
	}
	return
}

参考文档

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值