30秒学会 Golang 片段 · 2020年5月29日

30秒学会 Golang 片段 – RandIntSliceInRange

在指定范围中返回 n 个随机整数。

先用 make() 来创建相应大小的切片,使用 range 来遍历切片,用 rand.Intn() 来生成从 0maxmin 之间的随机数,再加上 min

代码实现

import "math/rand"

func RandIntSliceInRange(min, max, n int) []int {
    arr := make([]int, n)

    for i := range arr {
        arr[i] = rand.Intn(max-min) + min
    }
    return arr
}

使用样例

RandIntSliceInRange(12, 35, 10) // [19 34 29 15 25 21 18 23 32 27]