Files
2026-07-13 12:27:58 +08:00

23 lines
438 B
Go

package set
// Map takes a slice of a given type and creates a boolean map with keys
// of that type.
func Map[K comparable](in []K) map[K]bool {
m := make(map[K]bool, len(in))
for _, i := range in {
m[i] = true
}
return m
}
// Apply applies the given function to every element of the slice.
func Apply[K comparable](in []K, f func(K) K) []K {
out := make([]K, len(in))
for i, v := range in {
out[i] = f(v)
}
return out
}