Sobes.tech
Junior — Middle

Може ли функција да се пренесе као вредност у структури података map?

sobes.tech АИ

Одговор од АИ

Да, у језику Go можете преносити функције као вредности у структуру података map, јер су функције типови прве класе.

Пример:

package main

import "fmt"

func main() {
    // Декларишемо мапу, где је кључ стринг, а вредност функција која прихвата int и враћа int
    funcMap := make(map[string]func(int) int)

    // Додајемо функције у мапу
    funcMap["square"] = func(x int) int { return x * x }
    funcMap["double"] = func(x int) int { return x * 2 }

    // Користимо функције из мапе
    fmt.Println(funcMap["square"](5)) // 25
    fmt.Println(funcMap["double"](5)) // 10
}

На овај начин можемо чувати и позивати функције из мапе по кључу.