const NUM int = 100
創新互聯自2013年創立以來,是專業互聯網技術服務公司,擁有項目成都網站設計、做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元賓陽做網站,已為上家服務,為賓陽各地企業和個人服務,聯系電話:13518219792
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會取不到
我自己的需求這樣寫已足夠
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "stdafx.h"
#include "process.h"
#include "time.h"http://引入時間頭文件 利用時間作為隨機數種子
#include iostream
using namespace std;
bool testRepetition(int iArr[], int newNum, int ilength);//定義函數 判斷新產生的隨機數是否與前面有重復值
int main(int argc, char* argv[])
{
int iNum[4] = { 0 };//定義整形數組 初始化各項為0
srand((unsigned)time(NULL));//出初始化隨機數種子
for (int i = 0; i 4; i++)
{
int iTem = rand() % 10;//產生第一個隨機數
int iLen = sizeof(iNum) / sizeof(iNum[0]); //獲取數組長度
while (!testRepetition(iNum, iTem, iLen)) //直到產生與之前不重復的隨機數 賦值給數組項
{
iTem = rand() % 10;//產生隨機數
}
iNum[i] = iTem;//產生隨機數并賦值給數組項
cout iNum[i] "\t" endl;//輸出數組項數據
}
system("pause");
return 0;
}
bool testRepetition(int iArr[], int newNum, int ilength)
{
//sizeof(iArr) / sizeof(iArr[0]) 無法獲取到數組的長度 數組參數傳遞的是指針
for (int i = 0; i ilength; i++)
{
//printf("\n**************%d,%d,%d,%d****************\n", sizeof(iArr) / sizeof(iArr[0]),i, iArr[i], newNum);
if (iArr[i] == newNum){ return false; }
}
return true;
}
文章名稱:go語言獲取4位隨機數 go語言遍歷數組
URL標題:http://vcdvsql.cn/article46/doisdeg.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、面包屑導航、全網營銷推廣、網站營銷、App開發、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯