РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
334 of 1593 menu

Функция 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,
    которая инициализирует генератор случайных чисел
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить