const NUM int = 100
成都创新互联公司服务项目包括华阴网站建设、华阴网站制作、华阴网页制作以及华阴网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,华阴网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到华阴省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
for i := 0; i NUM; i += 1 {
rand.Seed(int64(i))
fmt.Printf("%d\t", rand.Int63n(int64(NUM)))
}
其实在循环里面这点时间间隔,纳秒也是跟不上的。
还有,你用sleep的方法肯定是不能接受的!!!
math/rand 中的所有整数函数都生成非负数.
示例 main.go
执行
同理,需要int64 int32类型的随机数只要修改随机函数
但是需要注意 math/rand 几个函数的取值区间!如Intn的范围[0, n)。[0,20),20会取不到
我自己的需求这样写已足够
可以随机产生N(N=字符串长度)个大小各不相同的数字,然后根据这些随机数在整个随机数组中的排位决定制取原字符串中的哪个数字(比如第一个随机数在整个数组中是第8大的,那结果的第1个数字就是原字符串的第8个数字,依此类推),这样就做成了一个随机但一一对应的映射
Private Sub Command1_Click()
Dim sOrigin As String
Dim iLen As Integer
Dim s() As Single
Dim sResult As String
sOrigin = "2233445566"
iLen = Len(sOrigin)
ReDim s(1 To iLen) As Single
Randomize
For i = 1 To iLen
s(i) = Int(Rnd() * 1000) + i / 1000 '整数部分随机,小数部分各不相同
Next
For i = 1 To iLen
sResult = sResult Mid(sOrigin, rank(s(i), s()), 1)
Next
Debug.Print sResult
End Sub
Private Function rank(num As Single, arr() As Single) As Integer
Dim iRank As Integer
iRank = 1
For i = 1 To UBound(arr)
If arr(i) num Then
iRank = iRank + 1
End If
Next
rank = iRank
End Function
运行结果:
4353226456
6454623352
4263552436
5245643326
2435425366
6526323454
2532563446
...