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

Функция rand.Int31

Функция rand.Int31 из пакета math/rand генерирует псевдослучайное 31-битное целое число. Она возвращает значение типа int32 в диапазоне от 0 до 2147483647 (включительно), что соответствует максимальному значению 31-битного числа со знаком. Функция не принимает никаких параметров. Для получения случайного числа в меньшем диапазоне используйте функцию rand.Int31n.

Синтаксис

rand.Int31()

Пример

Сгенерируем случайное 31-битное число и выведем его:

package main import ( "fmt" "math/rand" "time" ) func main() { rand.Seed(time.Now().UnixNano()) res := rand.Int31() fmt.Println(res) }

Результат выполнения кода:

"1234567890"

Обратите внимание, что функция rand.Int31 возвращает только положительные числа, включая ноль. Для инициализации генератора используется функция rand.Seed, которую в современных версиях Go можно не вызывать, так как генератор автоматически инициализируется случайным начальным значением.

Пример

Сгенерируем несколько случайных чисел в цикле и выведем их:

package main import ( "fmt" "math/rand" ) func main() { for i := 0; i < 5; i++ { res := rand.Int31() fmt.Println(res) } }

Результат выполнения кода:

"802064229" "1640250771" "1400291146" "145344990" "1572156793"

Каждый вызов rand.Int31 возвращает новое псевдослучайное число, равномерно распределенное в указанном диапазоне. Это делает функцию удобной для задач, требующих случайных чисел, например, для генерации идентификаторов или тестовых данных.

Пример

Используем rand.Int31 для генерации псевдослучайного числа и проверим его диапазон:

package main import ( "fmt" "math/rand" ) func main() { res := rand.Int31() fmt.Printf("Value: %d\n", res) fmt.Printf("Min possible: 0\n") fmt.Printf("Max possible: %d\n", int32(2147483647)) }

Результат выполнения кода:

"Value: 1843267854" "Min possible: 0" "Max possible: 2147483647"

Как видно из примера, возвращаемое значение всегда находится в пределах от 0 до максимального значения 31-битного целого числа. Это гарантируется реализацией функции и не требует дополнительной проверки.

Смотрите также

  • функцию rand.Int31n,
    которая генерирует случайное число в диапазоне от 0 до n-1
  • функцию rand.Int,
    которая генерирует случайное 64-битное целое число
  • функцию rand.Int63,
    которая генерирует случайное 63-битное целое число
  • функцию rand.Float32,
    которая генерирует случайное число с плавающей точкой
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить