Junior — Middle
Може ли да се предаде функция като стойност в структура от данни map?
sobes.tech AI
Отговор от AI
Да, в езика Go можете да предавате функции като стойности в структура от данни map, тъй като функциите са типове от първа класа.
Пример:
package main
import "fmt"
func main() {
// Декларираме map, където ключът е низ, а стойността е функция, която приема int и връща int
funcMap := make(map[string]func(int) int)
// Добавяме функции към map
funcMap["square"] = func(x int) int { return x * x }
funcMap["double"] = func(x int) int { return x * 2 }
// Използваме функциите от map
fmt.Println(funcMap["square"](5)) // 25
fmt.Println(funcMap["double"](5)) // 10
}
По този начин можем да съхраняваме и извикваме функции от map по ключ.