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.