Как получить случайное число?
Вот функция, но она выводить всегда цифру "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
Комментариев нет:
Отправить комментарий