words/internal/dictionary.go
2025-07-01 11:10:48 +02:00

28 lines
434 B
Go

package internal
import (
"math/rand/v2"
"sort"
)
type Dictionary []string
func (d Dictionary) GetRandomWord() string {
return d[rand.IntN(len(d))]
}
func (d Dictionary) GetRandomWords(n int) []string {
r := make([]string, n)
for i := range r {
r[i] = d[rand.IntN(len(d))]
}
return r
}
func (d Dictionary) Contains(word string) bool {
index := sort.SearchStrings(d, word)
return index < len(d) && d[index] == word
}