Sobes.tech
Junior — Middle

Map түзүмүндө функцияны мааниси катары өткөрүү мүмкүнбү?

sobes.tech AI

AIден жооп

Ооба, Go тилинде функцияларды маалымат структурасы map ичинде маанилер катары өткөрүп берүү мүмкүн, анткени функциялар биринчи класстагы түрлөр.

Мисал:

package main

import "fmt"

func main() {
    // Ключү — жол, мааниси — кабыл алчу жана кайтаруучу бүтүн сан функциясы бар карта түзөбүз
    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
}

Мындайча айтканда, картада сакталган жана кілт аркылуу чакырылган функцияларды колдонсо болот.