Функция rand.Int63

Функция rand.Int63 из пакета math/rand генерирует псевдослучайное 63-битное целое неотрицательное число. Возвращаемое значение имеет тип int64 и находится в диапазоне от 0 до 2^63-1 включительно. Функция не принимает никаких параметров.

Синтаксис

gorand.Int63()

Пример

Давайте сгенерируем случайное 63-битное число:

gopackage main

import (
  "fmt"
  "math/rand"
)

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

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

go"7520472690524936267"

Пример

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

gopackage main

import (
  "fmt"
  "math/rand"
)

func main() {
  for i := 0; i < 5; i++ {
    res := rand.Int63()
    fmt.Println(res)
  }
}

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

go"7520472690524936267"
"3924906023459823452"
"1829304756839201823"
"6492038475920384759"
"2847563920183749201"

Пример

При необходимости вы можете использовать генератор с начальным зерном для воспроизводимости результатов:

gopackage main

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

func main() {
  source := rand.NewSource(time.Now().UnixNano())
  r := rand.New(source)
  res := r.Int63()
  fmt.Println(res)
}

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

go"7520472690524936267"

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

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