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

Функция rand.Seed

Функция rand.Seed устанавливает начальное значение для генератора псевдослучайных чисел. Она принимает один параметр — seed типа int64. Начальное значение определяет последовательность случайных чисел, которую будет возвращать генератор. При одинаковом начальном значении последовательность случайных чисел всегда будет одинаковой.

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

Синтаксис

rand.Seed(seed)

Пример использования с текущим временем

Давайте инициализируем генератор случайных чисел с использованием текущего времени в наносекундах:

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

Результат выполнения кода будет разным при каждом запуске:

42

Пример с фиксированным начальным значением

Давайте установим фиксированное начальное значение '12345':

package main import ( "fmt" "math/rand" ) func main() { rand.Seed(12345) res := rand.Intn(100) fmt.Println(res) }

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

36

Пример с несколькими случайными числами

Давайте сгенерируем последовательность из трех случайных чисел с фиксированным начальным значением:

package main import ( "fmt" "math/rand" ) func main() { rand.Seed(42) res1 := rand.Intn(10) res2 := rand.Intn(10) res3 := rand.Intn(10) fmt.Println(res1, res2, res3) }

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

"1 5 6"

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

  • функцию rand.Intn,
    которая генерирует случайное целое число в диапазоне от 0 до n-1
  • функцию rand.Float64,
    которая генерирует случайное число с плавающей точкой от 0.0 до 1.0
  • функцию rand.Perm,
    которая возвращает перестановку чисел от 0 до n-1
  • функцию rand.Shuffle,
    которая перемешивает элементы в слайсе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить