Sobes.tech
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.