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
}

ამ გზით, შეგვიძლია ფუნქციების შენახვა და გამოძახება მეპიდან კილტით.