simulation-go/utils/helpers.go

38 lines
635 B
Go
Raw Normal View History

2024-10-10 21:43:36 +03:00
package utils
import "sort"
// Автоинкрементер ID
func GetIDGenerator() func() int {
id := 0
return func() int {
id++
return id
}
}
// Helper function сортирует срез массивов
func Sorted(values []int) []int {
sort.Ints(values)
return values
}
// Helper function ищет индекс по значению в слайсе
func IndexOf(values []int, target int) int {
for i, v := range values {
if v == target {
return i
}
}
return -1
}
func FindIndex(slice []int, predicate func(int) bool) int {
for i, v := range slice {
if predicate(v) {
return i
}
}
return -1
}