Junior — Middle
Başqa bir funksiyada çağırmaq üçün funksiyanı arqument kimi necə keçirmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da funksiyalar birinci dərəcəli dəyərlə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ənin 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.