Junior — Middle
¿Se puede pasar una función como valor en una estructura de datos map?
sobes.tech AI
Respuesta de la IA
Sí, en Go se pueden pasar funciones como valores en una estructura de datos map, ya que las funciones son tipos de primera clase.
Ejemplo:
package main
import "fmt"
func main() {
// Declaramos un map, donde la clave es una cadena, y el valor es una función que recibe un int y devuelve un int
funcMap := make(map[string]func(int) int)
// Añadimos funciones al map
funcMap["square"] = func(x int) int { return x * x }
funcMap["double"] = func(x int) int { return x * 2 }
// Usamos las funciones del map
fmt.Println(funcMap["square"](5)) // 25
fmt.Println(funcMap["double"](5)) // 10
}
De esta manera, se pueden almacenar y llamar funciones desde un map por su clave.