Sobes.tech
Junior — Middle

Оё имкон дорад, ки функсияро ҳамчун арзиш дар структураи додаҳои map гузорем?

sobes.tech AI

Ҷавоб аз AI

Бале, дар забони 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
}

Ин тариқ, мо метавонем функсияҳоро дар мап нигоҳ дорем ва бо калид даъват кунем.