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

Функция rand.New

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

Синтаксис

rand.New(src rand.Source) *rand.Rand

Пример

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

package main import ( "fmt" "math/rand" ) func main() { src := rand.NewSource(42) rnd := rand.New(src) res := rnd.Intn(100) fmt.Println(res) }

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

81

Пример

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

package main import ( "fmt" "math/rand" ) func main() { src := rand.NewSource(12345) rnd := rand.New(src) res := rnd.Float64() fmt.Println(res) }

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

0.953268426591789

Пример

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

package main import ( "fmt" "math/rand" ) func main() { src1 := rand.NewSource(1) rnd1 := rand.New(src1) src2 := rand.NewSource(2) rnd2 := rand.New(src2) res1 := rnd1.Intn(10) res2 := rnd2.Intn(10) fmt.Println(res1) fmt.Println(res2) }

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

1 2

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

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