go语言获取4位随机数 go语言遍历数组

golang连续生成随机数

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的方法肯定是不能接受的!!!

GO GOLANG 生成范围随机数

math/rand 中的所有整数函数都生成非负数.

示例 main.go

执行

同理,需要int64 int32类型的随机数只要修改随机函数

但是需要注意 math/rand 几个函数的取值区间!如Intn的范围[0, n)。[0,20),20会取不到

我自己的需求这样写已足够

如何随机生成4个互不相同的数字

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"//引入时间头文件 利用时间作为随机数种子

#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://ybzwz.com/article/doisdeg.html