Sobes.tech
Junior — Middle

Je možné odovzdať funkciu ako hodnotu v dátovej štruktúre map?

sobes.tech AI

Odpoveď od AI

Áno, v jazyku Go môžete prenášať funkcie ako hodnoty v dátovej štruktúre map, pretože funkcie sú typy prvej triedy.

Príklad:

package main

import "fmt"

func main() {
    // Deklarujeme mapu, kde kľúč je reťazec a hodnota je funkcia, ktorá prijíma int a vracia int
    funcMap := make(map[string]func(int) int)

    // Pridávame funkcie do mapy
    funcMap["square"] = func(x int) int { return x * x }
    funcMap["double"] = func(x int) int { return x * 2 }

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

Takto môžeme ukladať a volať funkcie z mapy podľa kľúča.