diff --git a/fn/stream.go b/fn/stream.go new file mode 100644 index 000000000..9974eb467 --- /dev/null +++ b/fn/stream.go @@ -0,0 +1,13 @@ +package fn + +// Map takes an input slice, and applies the function f to each element, +// yielding a new slice. +func Map[T1, T2 any](s []T1, f func(T1) T2) []T2 { + r := make([]T2, len(s)) + + for i, v := range s { + r[i] = f(v) + } + + return r +}