十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
const NUM int = 100
成都创新互联服务项目包括顺庆网站建设、顺庆网站制作、顺庆网页制作以及顺庆网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,顺庆网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到顺庆省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
for i := 0; i NUM; i += 1 {
rand.Seed(int64(i))
fmt.Printf("%d\t", rand.Int63n(int64(NUM)))
}
其实在循环里面这点时间间隔,纳秒也是跟不上的。
还有,你用sleep的方法肯定是不能接受的!!!
1. 优先:如果数字是保证永不重复,这不是很随机的。 第二:有很多的PRNG算法。 更新: 第三:有一个IETF的RFC的UUID(什么MS调用的GUID),但你应该认识到,(U|G)的UID不加密保护,如果这是你的关注。 更新2: 如果你想喜欢这种在生产代码(不只是为自己的熏陶),请使用预先存在的库。这是代码的那种几乎保证有微妙的bugs,如果你之前(或者即使你有)从来没有做过。 更新3: 下面是文档的.NET的GUID
2. 有很多方法可以生成随机数。这是一个系统/库调用一个伪随机数发生器的seed照你已经描述。 但是 CodeGo.net,也有越来越随机数的其他方式涉及专门的硬件来获得真正的随机数。我知道扑克网站这种硬件的。这是非常有趣的阅读他们是如何做到这一点。
3. 大多数随机数发生器有办法“随机”重新初始化seed值。 (称为随机化)。 如果这是不可能的,你可以将系统时钟初始化seed。
4. 你这个代码示例: 或者,您这本书: 但是,不要自己动手,用现有的库。你不能成为优先人做到这一点。
5. 特别是关于Java的:java.util.Random使用线性同余发生器,这不是很好java.util.UUID#randomUUID()用途java.security.SecureRandom,适用于各种加密安全随机数据生成器的界面-默认是基于SHA-1的,我相信。 的UUID / GUID是不一定随机 人们很容易找到那些比好得多的RNG的java.util.Random如Mersenne扭曲或乘用携带
6. 我知道你正在寻找一种方法来生成随机的C#。如果是的话,RNGCryptoServiceProvider的是你在找什么。 [编辑] 如果产生一个相当长的RNGCryptoServiceProvider的数目,它很可能是唯一的,但不存在供货保证。从理论上讲,真正的随机数是唯一的。你滚骰子2,你可能会得到两个头的,但他们仍然是随机的。真正的随机! 我想申请的是unique的支票,你只需要保持滚动生成的数字历史你了。
math/rand 中的所有整数函数都生成非负数.
示例 main.go
执行
同理,需要int64 int32类型的随机数只要修改随机函数
但是需要注意 math/rand 几个函数的取值区间!如Intn的范围[0, n)。[0,20),20会取不到
我自己的需求这样写已足够