Files

44 lines
627 B
Go

package main
func contains[T comparable](slice []T, elem T) bool {
for _, e := range slice {
if e == elem {
return true
}
}
return false
}
func every[T any](slice []T, pred func(elem T) bool) bool {
for _, e := range slice {
if !pred(e) {
return false
}
}
return true
}
func anyOf[T any](slice []T, pred func(elem T) bool) bool {
for _, e := range slice {
if pred(e) {
return true
}
}
return false
}
func filter[T any](slice []T, pred func(elem T) bool) []T {
filtered := make([]T, 0)
for _, e := range slice {
if pred(e) {
filtered = append(filtered, e)
}
}
return filtered
}