Можно ли передать функцию в качестве значения в структуру данных map?

Да, в Go можно передавать функции в качестве значений в структуру данных map, так как функции являются типами первого класса.

Короткий ответ

Что ответить на собеседовании

Да, в Go можно передавать функции в качестве значений в структуру данных map, так как функции являются типами первого класса.

Подробный разбор

Ответ с пояснениями

Да, в 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 по ключу.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее