Sobes.tech
Junior — Middle

Map tuzilmasida funktsiyani qiymat sifatida o'tkazish mumkinmi?

sobes.tech AI

AIdan javob

Ha, Go tilida funksiyalarni birinchi darajali turlar sifatida qabul qilish mumkin, chunki funksiyalar map ma'lumotlar tuzilmasida qiymat sifatida uzatish mumkin.

Misol:

package main

import "fmt"

func main() {
    // Kalit so'zi satr, qiymat esa int qabul qiladigan va int qaytaradigan funksiya bo'lgan mapni e'lon qilamiz
    funcMap := make(map[string]func(int) int)

    // Mapga funksiyalarni qo'shamiz
    funcMap["square"] = func(x int) int { return x * x }
    funcMap["double"] = func(x int) int { return x * 2 }

    // Mapdagi funksiyalarni ishlatamiz
    fmt.Println(funcMap["square"](5)) // 25
    fmt.Println(funcMap["double"](5)) // 10
}

Shu tarzda, map ichida kalit yordamida funksiyalarni saqlash va chaqirish mumkin.