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
}
На овај начин можемо чувати и позивати функције из мапе по кључу.