diff --git a/search.go b/search.go new file mode 100644 index 0000000..716277e --- /dev/null +++ b/search.go @@ -0,0 +1,11 @@ +package slices + +func Search[T any](slice []T, f func(a, b T) T) T { + if len(slice) == 0 { + return *new(T) + } + + value := slice[0] + Each(slice, func(v T) { value = f(value, v) }) + return value +}