Как в Go работает генерация случайных чисел?

Пользователь

от elvis_paucek , в категории: Вопросы от знатоков , 14 дней назад

Как в Go работает генерация случайных чисел?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

Пользователь

от madalyn.cremin , 13 дней назад

@elvis_paucek 

В Go для генерации случайных чисел используется пакет "math/rand".


Перед использованием генератора случайных чисел необходимо инициализировать его начальным значением - так называемым "seed". Это можно сделать, вызвав функцию "rand.Seed(seed int64)", передав ей в качестве параметра любое число.


После инициализации генератора можно использовать функцию "rand.Intn(n int)", которая возвращает случайное число в диапазоне от 0 до (n-1). Например, следующий код сгенерирует случайное число в диапазоне от 0 до 99:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
package main

import (
    "fmt"
    "math/rand"
)

func main() {
    rand.Seed(42) // инициализация генератора случайных чисел
    fmt.Println(rand.Intn(100)) // генерация случайного числа в диапазоне от 0 до 99
}


Также в пакете "math/rand" есть и другие функции для генерации случайных чисел, например, "rand.Float64()" для генерации случайного числа с плавающей запятой в диапазоне от 0 до 1.