Sobes.tech
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 по ключ.