Функция rand.Uint32

Функция rand.Uint32 возвращает псевдослучайное 32-битное целое число без знака. Значение равномерно распределено в диапазоне от 0 до 4 294 967 295 включительно. Для работы с генератором необходимо импортировать пакет math/rand. Перед использованием рекомендуется инициализировать генератор с помощью rand.Seed.

Синтаксис

gorand.Uint32()

Пример

Давайте сгенерируем одно случайное 32-битное число и выведем его на экран:

gopackage main

import (
  "fmt"
  "math/rand"
  "time"
)

func main() {
  rand.Seed(time.Now().UnixNano())
  res := rand.Uint32()
  fmt.Println(res)
}

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

go"3829405612"

Пример

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

gopackage main

import (
  "fmt"
  "math/rand"
  "time"
)

func main() {
  rand.Seed(time.Now().UnixNano())

  numbers := make([]uint32, 5)
  for i := range numbers {
    numbers[i] = rand.Uint32()
  }

  fmt.Println(numbers)
}

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

go[3214567890 123456789 987654321 2345678901 3456789012]

Пример

Используем полученное число для вычисления остатка от деления, чтобы получить случайное число в диапазоне от 0 до 99:

gopackage main

import (
  "fmt"
  "math/rand"
  "time"
)

func main() {
  rand.Seed(time.Now().UnixNano())

  random := rand.Uint32()
  res := random % 100

  fmt.Println(res)
}

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

go"42"

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

  • функцию rand.Intn,
    которая генерирует целое число в диапазоне от 0 до n-1
  • функцию rand.Uint64,
    которая генерирует 64-битное случайное число
  • функцию rand.Int31,
    которая генерирует 31-битное случайное число
  • функцию rand.Float64,
    которая генерирует случайное число с плавающей точкой