Junior — Middle
Boshqa funksiyada chaqirish uchun argument sifatida funksiyani qanday o'tkazish mumkin?
sobes.tech AI
AIdan javob
Go'da funksiyalar birinchi sinf qiymətlərdir, ona görə də onları digər funksiyalara arqument kimi keçirmək mümkündür.
Bir funksiyanı başqa bir funksiyaya keçirmək nümunəsi:
package main
import "fmt"
// Başqa bir funksiyanı arqument kimi qəbul edən funksiya
func applyOperation(a, b int, op func(int, int) int) int {
return op(a, b)
}
func main() {
sum := func(x, y int) int {
return x + y
}
result := applyOperation(3, 4, sum)
fmt.Println(result) // 7 çap edir
}
Burada, applyOperation iki ədəd və bu ədədlər üzərində əməliyyatı müəyyən edən op funksiyasını qəbul edir. main funksiyasında isə toplama funksiyası anonim olaraq verilir.
Beləliklə, Go'da funksiyanı keçirmək üçün arqument tipini func(...) ... kimi göstərmək və çağırış zamanı lazım olan funksiyanı keçirmək kifayətdir.