Avatar ·

¿Se pueden pasar funciones como parámetros en Go?

¡Hola a todos! Acabo de empezar a estudiar Go y tengo una pregunta sobre el trabajo con funciones. En otros lenguajes, como Python o JavaScript, estoy acostumbrado a pasar funciones como argumentos a otras funciones. Esto es muy útil para crear callbacks, manejadores de eventos o implementar estrategias de ordenamiento. En Go me encontré con que las funciones son una entidad separada. Estoy intentando escribir una función que recibe otra función y la aplica a los elementos de un array, pero el compilador se queja de mi código. Esto es lo que intento hacer: ```go package main import "fmt" func applyToSlice(s []int, fn func(int) int) []int { result := make([]int, len(s)) for i, v := range s { result[i] = fn(v) } return result } func main() { nums := []int{1, 2, 3, 4} // Quiero pasar una función que duplica el número doubled := applyToSlice(nums, func(x int) int { return x * 2 }) fmt.Println(doubled) } ``` Este código funciona, pero yo n