--- name: group_by kind: function lang: go domain: core version: "1.0.0" purity: pure signature: "func GroupBy[T any, K comparable](slice []T, keyFn func(T) K) map[K][]T" description: "Agrupa elementos de un slice por clave generada con una funcion." tags: [slice, functional, generic, grouping, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: [] params: - name: slice desc: "slice de elementos a agrupar" - name: keyFn desc: "función que extrae la clave de agrupación para cada elemento" output: "mapa donde cada clave única mapea a un slice de elementos con esa clave" tested: false tests: [] test_file_path: "" file_path: "functions/core/group_by.go" --- ## Ejemplo ```go groups := GroupBy([]string{"go", "git", "python"}, func(s string) byte { return s[0] }) // groups = map[byte][]string{'g': {"go", "git"}, 'p': {"python"}} ``` ## Notas Funcion pura generica. Implementacion en devfactory/core.