Sobes.tech
Junior — Middle

Lze předat funkci jako hodnotu v datové struktuře map?

sobes.tech AI

Odpověď od AI

Ano, v jazyce Go lze předávat funkce jako hodnoty v datové struktuře map, protože funkce jsou typy první třídy.

Příklad:

package main

import "fmt"

func main() {
    // Deklarace mapy, kde klíčem je řetězec a hodnotou funkce přijímající int a vracející int
    funcMap := make(map[string]func(int) int)

    // Přidání funkcí do mapy
    funcMap["square"] = func(x int) int { return x * x }
    funcMap["double"] = func(x int) int { return x * 2 }

    // Použití funkcí z mapy
    fmt.Println(funcMap["square"](5)) // 25
    fmt.Println(funcMap["double"](5)) // 10
}

Tímto způsobem lze ukládat a volat funkce z mapy podle klíče.