Sobes.tech
Junior — Middle

Map məlumat strukturasında funksiyanı dəyər kimi ötürmək mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, Go dilində funksiyaları məlumat strukturu map daxilində dəyər kimi ötürmək mümkündür, çünki funksiyalar birinci sinif tiplərdir.

Misal:

package main

import "fmt"

func main() {
    // Açarı sətir, dəyəri isə int qəbul edən və int qaytaran funksiya olan map elan edirik
    funcMap := make(map[string]func(int) int)

    // Map-ə funksiyalar əlavə edirik
    funcMap["square"] = func(x int) int { return x * x }
    funcMap["double"] = func(x int) int { return x * 2 }

    // Map-dən funksiyaları istifadə edirik
    fmt.Println(funcMap["square"](5)) // 25
    fmt.Println(funcMap["double"](5)) // 10
}

Beləliklə, map-də açar vasitəsilə funksiyaları saxlamaq və çağırmaq mümkündür.