Функция rand.Intn

Функция rand.Intn генерирует псевдослучайное целое число в диапазоне от 0 (включительно) до n (исключительно). В качестве единственного параметра функция принимает целое число n, которое задает верхнюю границу диапазона. Функция возвращает целое число в диапазоне [0, n).

Синтаксис

gorand.Intn(n)

Пример

Давайте сгенерируем случайное число от 0 до 9:

gopackage main

import (
  "fmt"
  "math/rand"
)

func main() {
  res := rand.Intn(10)
  fmt.Println(res)
}

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

go"7"

Каждый запуск программы будет выдавать разные числа в диапазоне 0-9.

Пример

Давайте сгенерируем случайное число от 0 до 4:

gopackage main

import (
  "fmt"
  "math/rand"
)

func main() {
  res := rand.Intn(5)
  fmt.Println(res)
}

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

go"2"

Пример

Если передать отрицательное число, функция вызовет панику:

gopackage main

import (
  "fmt"
  "math/rand"
)

func main() {
  res := rand.Intn(-5)
  fmt.Println(res)
}

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

go"panic: invalid argument to Intn"

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

  • функцию rand.Int63n,
    которая возвращает случайное число в диапазоне от 0 до n-1 как int64
  • функцию rand.Int31n,
    которая возвращает случайное число в диапазоне от 0 до n-1 как int32
  • функцию rand.Int,
    которая возвращает случайное положительное число int
  • функцию rand.Float64,
    которая возвращает случайное число с плавающей точкой в диапазоне [0.0, 1.0)