1package list 2 3func Map[V any, T any](source []V, fun func(V) T) []T { 4 result := make([]T, 0, len(source)) 5 for _, s := range source { 6 result = append(result, fun(s)) 7 } 8 return result 9}