Страницы

Поиск по вопросам

пятница, 29 марта 2019 г.

Случайное число в golang

Как получить случайное число? Вот функция, но она выводить всегда цифру "81"
package main
import ("fmt"; "math/rand")
func main() { fmt.Println(rand.Intn(100)) }


Ответ

Генератор случайных чисел обычно нужно рандомизировать перед использованием, иначе, он, действительно, будет выдавать одну и ту же последовательность.
В golang это можно сделать вот так:
rand.Seed(time.Now().UnixNano())
https://golang.org/pkg/math/rand/#Seed
P.S. Оставлю тут ещё ссылку на англоязычную версию SO, с вопросом, как правильно инициализировать рандомайзер: golang random number generator how to seed properly

Комментариев нет:

Отправить комментарий