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

Функция rand.Int63n

Функция rand.Int63n возвращает псевдослучайное 63-битное целое число в диапазоне от 0 до n-1 включительно. В качестве аргумента функция принимает верхнюю границу диапазона n, которая должна быть положительным числом типа int64. Функция возвращает значение типа int64. Если переданное значение n меньше или равно нулю, функция вызывает панику.

Синтаксис

rand.Int63n(n)

Пример

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

package main import ( "fmt" "math/rand" ) func main() { res := rand.Int63n(10) fmt.Println(res) }

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

"7"

Результат каждый раз будет разным, так как генерируется случайное число от 0 до 9 включительно.

Пример

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

package main import ( "fmt" "math/rand" ) func main() { items := []string{"a", "b", "c", "d", "e"} index := rand.Int63n(int64(len(items))) fmt.Println(items[index]) }

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

"c"

Функция позволяет безопасно получить случайный индекс в пределах длины слайса.

Пример

Давайте сгенерируем 5 случайных чисел в диапазоне от 0 до 99:

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

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

"42" "87" "15" "63" "91"

Каждый вызов функции возвращает независимое случайное значение в заданном диапазоне.

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

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