Sobes.tech
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.