package utils func Filter[T any](items []T, predicate func(T) bool) []T { var result []T for _, item := range items { if predicate(item) { result = append(result, item) } } return result } func Find[T any](items []T, predicate func(T) bool) (T, bool) { for _, item := range items { if predicate(item) { return item, true } } var zero T return zero, false } func Map[T, U any](items []T, transform func(T) U) []U { result := make([]U, len(items)) for i, item := range items { result[i] = transform(item) } return result } func Contains[T comparable](items []T, target T) bool { for _, item := range items { if item == target { return true } } return false } func Any[T any](items []T, predicate func(T) bool) bool { for _, item := range items { if predicate(item) { return true } } return false } func All[T any](items []T, predicate func(T) bool) bool { for _, item := range items { if !predicate(item) { return false } } return true }