Функция rand.Int63n
Функция rand.Int63n возвращает псевдослучайное 63-битное целое число
в диапазоне от 0 до n-1 включительно. В качестве аргумента функция
принимает верхнюю границу диапазона n, которая должна быть
положительным числом типа int64. Функция возвращает значение типа
int64. Если переданное значение n меньше или равно нулю,
функция вызывает панику.
Синтаксис
rand.Int63n(n)
Пример
Давайте сгенерируем случайное число в диапазоне от 0 до 9:
package main
import (
"fmt"
"math/rand"
)
func main() {
res := rand.Int63n(10)
fmt.Println(res)
}
Результат выполнения кода:
"7"
Результат каждый раз будет разным, так как генерируется случайное число от 0 до 9 включительно.
Пример
Давайте сгенерируем случайное число для выбора элемента из слайса:
package main
import (
"fmt"
"math/rand"
)
func main() {
items := []string{"a", "b", "c", "d", "e"}
index := rand.Int63n(int64(len(items)))
fmt.Println(items[index])
}
Результат выполнения кода:
"c"
Функция позволяет безопасно получить случайный индекс в пределах длины слайса.
Пример
Давайте сгенерируем 5 случайных чисел в диапазоне от 0 до 99:
package main
import (
"fmt"
"math/rand"
)
func main() {
for i := 0; i < 5; i++ {
res := rand.Int63n(100)
fmt.Println(res)
}
}
Результат выполнения кода:
"42"
"87"
"15"
"63"
"91"
Каждый вызов функции возвращает независимое случайное значение в заданном диапазоне.
Смотрите также
-
функцию
rand.Intn,
которая возвращает случайное число типа int в диапазоне от 0 до n-1 -
функцию
rand.Int31n,
которая возвращает случайное 31-битное число в диапазоне от 0 до n-1 -
функцию
rand.Int63,
которая возвращает случайное 63-битное число в полном диапазоне -
функцию
rand.Float64,
которая возвращает случайное число с плавающей точкой от 0 до 1