--- name: map_slice kind: function lang: go domain: core version: "1.0.0" purity: pure signature: "func MapSlice[T any, U any](xs []T, fn func(T) U) []U" description: "Transforma cada elemento de un slice aplicando una funcion. Retorna un nuevo slice del mismo tamaño con los resultados." tags: [slice, functional, generic, map, transform] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: [] tested: true tests: ["transforma enteros a strings", "slice vacio retorna vacio", "preserva orden"] test_file_path: "functions/core/map_slice_test.go" file_path: "functions/core/map_slice.go" --- ## Ejemplo ```go strs := MapSlice([]int{1, 2, 3}, func(n int) string { return fmt.Sprintf("%d", n) }) // strs = ["1", "2", "3"] ``` ## Notas Funcion pura generica con dos type parameters: T (input) y U (output). Pre-aloca el slice resultado al tamaño exacto.