Функция rand.Int
Функция rand.Int генерирует псевдослучайное целое число.
Она возвращает значение типа int в диапазоне от 0
до math.MaxInt. Поскольку возвращаемое значение неотрицательное,
оно никогда не бывает отрицательным. Для работы функции не требуется
передавать параметры.
В стандартной библиотеке Go реализован генератор псевдослучайных чисел,
поэтому для получения разных последовательностей чисел рекомендуется
инициализировать генератор с помощью функции rand.Seed,
передавая ей уникальное начальное значение.
Синтаксис
rand.Int()
Пример
Создадим простую программу, которая генерирует одно случайное число с использованием глобального генератора:
package main
import (
"fmt"
"math/rand"
)
func main() {
res := rand.Int()
fmt.Println(res)
}
Результат выполнения кода (будет отличаться при каждом запуске):
"3209594855876986425"
Пример
Покажем, как использовать функцию rand.Int в цикле для генерации
нескольких случайных чисел. Чтобы результаты были воспроизводимыми,
зададим начальное значение генератора:
package main
import (
"fmt"
"math/rand"
)
func main() {
rand.Seed(42)
for i := 0; i < 5; i++ {
fmt.Println(rand.Int())
}
}
Результат выполнения кода:
"2834203016684390165"
"854142285315017637"
"8031739094787353914"
"5878368017021321851"
"5025193249686282915"
Пример
Продемонстрируем, что rand.Int всегда возвращает неотрицательное
число. Для этого проверим старший бит результата:
package main
import (
"fmt"
"math"
"math/rand"
)
func main() {
rand.Seed(1)
res := rand.Int()
if res >= 0 {
fmt.Println("Число неотрицательное:", res)
}
if res <= math.MaxInt {
fmt.Println("Число не превышает MaxInt:", res)
}
}
Результат выполнения кода:
"Число неотрицательное: 3814084103229030605"
"Число не превышает MaxInt: 3814084103229030605"
Смотрите также
-
функцию
rand.Intn,
которая генерирует случайное число в диапазоне от 0 до n-1 -
функцию
rand.Int63,
которая возвращает неотрицательное 63-битное случайное число -
функцию
rand.Float64,
которая возвращает случайное число с плавающей точкой в диапазоне [0.0, 1.0) -
функцию
rand.Seed,
которая инициализирует генератор случайных чисел