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

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

Премиум 👑 канал по Golang

Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎

Подписаться на канал

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

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

Go в ВК ЧАТ в Telegram


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

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

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

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

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

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии