起飞就起飞

golang的rand包的坑

Posted on By baixiao

1、rand.IntN无法随机!

	result := make([]int, 0)
	for i := 1; i <= 10; i ++ {
		result = append(result, rand.Intn(10))
	}
	fmt.Println(result)
	result = make([]int, 0)
	r := rand.New(rand.NewSource(time.Now().UnixNano()))
	for i := 1; i <= 10; i ++ {
		result = append(result, r.Intn(10))
	}
	fmt.Println(result)

执行两次,前一个循环的值是相同的!后一个以time为key,可以做到随机。

第一次:

未命名 2

第二次:

未命名 2