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
}
ამ გზით, შეგვიძლია ფუნქციების შენახვა და გამოძახება მეპიდან კილტით.