Back to questions
Junior — Middle
85
Можно ли передать функцию в качестве значения в структуру данных map?
Answer from AI
sobes.tech 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 по ключу.