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
}
Ин тариқ, мо метавонем функсияҳоро дар мап нигоҳ дорем ва бо калид даъват кунем.