diff --git a/filter.go b/filter.go new file mode 100644 index 0000000..5ebe2ad --- /dev/null +++ b/filter.go @@ -0,0 +1,11 @@ +package slices + +func Filter[T any](slice []T, f func(T) bool) []T { + ret := make([]T, 0, len(slice)) + for _, v := range slice { + if f(v) { + ret = append(ret, v) + } + } + return ret +}