В следующей инструкции показано, как написать программу для генерации случайных чисел. Данную функциональность предоставляет пакет math/rand. Случайные числа, сгенерированные через math/rand считаются криптографически ненадежными, так как из-за использования определенного сида последовательности повторяются.

Для генерации криптографически надежных чисел лучше использовать пакет crypto/rand, где последовательности не повторяются.

Форум Гоферов

Мы работаем над форумом для программистов на Golang. Очень нужны модераторы которые хотят помочь с ответами для новичков и помочь в развитии Go-сообщества.

Go на Форум

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК Go в Telegram

Как генерировать случайные числа в Golang?

1. Создайте файл rand.go со следующим содержимым:

2. Запустите код в терминале через go run rand.go;
3. Посмотрите на вывод:

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

Второй вариант является криптографически надежным, он использует пакет crypto/rand. API использует Reader для предоставления экземпляра криптографически сильного генератора псевдо-случайных чисел. Данный пакет сам по себе имеет свой Reader по умолчанию, который основан на системном генераторе случайных чисел.

Понравилась статья?

Поддержи наш проект, чтобы мы могли создать больше хорошего контента!