Более рандомный рандом

This commit is contained in:
eleksir
2022-05-21 02:55:42 +03:00
parent 7a525eed44
commit 7615daa57e
2 changed files with 9 additions and 1 deletions

View File

@@ -95,6 +95,9 @@ var pebbleDB struct {
} }
} }
// Создадим источник рандома
var random *rand.Rand
// ReadConfig читает и валидирует конфиг, а также выставляет некоторые default-ы, если значений для параметров в конфиге нет // ReadConfig читает и валидирует конфиг, а также выставляет некоторые default-ы, если значений для параметров в конфиге нет
func ReadConfig() MyConfig { func ReadConfig() MyConfig {
configLoaded := false configLoaded := false
@@ -307,7 +310,7 @@ func FetchRandomV(db *pebble.DB, dbName string) (string, error) {
return answer, fmt.Errorf("garbage in count_db while getting info about %s: %s", dbName, err) return answer, fmt.Errorf("garbage in count_db while getting info about %s: %s", dbName, err)
} }
phraseNum := 1 + rand.Intn(amountNum) phraseNum := random.Intn(amountNum + 1)
phraseItem := fmt.Sprintf("%d", phraseNum) phraseItem := fmt.Sprintf("%d", phraseNum)
answer, err = FetchV(db, phraseItem) answer, err = FetchV(db, phraseItem)

View File

@@ -8,6 +8,7 @@ import (
"fmt" "fmt"
"io/fs" "io/fs"
"math" "math"
"math/rand"
"os" "os"
"os/signal" "os/signal"
"strconv" "strconv"
@@ -552,6 +553,10 @@ func init() {
TimestampFormat: "2006-01-02 15:04:05", TimestampFormat: "2006-01-02 15:04:05",
}) })
// Запустим наш рандомайзер
rngSeed := rand.NewSource(time.Now().UnixNano())
random = rand.New(rngSeed)
config = ReadConfig() config = ReadConfig()
// no panic, no trace // no panic, no trace