Junior — Middle
Bir fonksiyonu başka bir fonksiyon içinde çağırmak için argüman olarak nasıl geçirebilirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da fonksiyonlar birinci sınıf değerlerdir, bu nedenle diğer fonksiyonlara argüman olarak geçirilebilirler.
Bir fonksiyonu başka bir fonksiyona geçirmenin örneği:
package main
import "fmt"
// Bir fonksiyon başka bir fonksiyonu argüman olarak alan fonksiyon
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 yazdırır
}
Burada, applyOperation iki sayı ve bu sayılar üzerinde işlem tanımlayan op fonksiyonunu alır. main fonksiyonunda ise toplama yapan anonim fonksiyon geçirilir.
Bu nedenle, Go'da fonksiyonları geçirmek için, argüman tipini func(...) ... olarak belirtmek ve çağrı sırasında uygun fonksiyonu geçirmek yeterlidir.