Fonksiyonlar: Çoklu Geri Dönüş Değerleri ve Parametreler

irfo

Moderatör
Katılım
7 Ocak 2026
Mesajlar
71
Tepkime puanı
2
Puanları
8

Go'nun Süper Gücü​

Çoğu dilde bir fonksiyon sadece tek bir şey (bir int, bir string veya bir obje) döndürebilir. Eğer birden fazla şey döndürmek isterseniz bir sınıf (class) veya dizi (array) oluşturmanız gerekir.Go'da ise fonksiyonlar birden fazla değeri aynı anda döndürebilir. Bu özellik, Go'nun hata yönetimi felsefesinin temelidir.

Temel Tanım​

Kod:
func topla(a int, b int) int {
    return a + b
}


(İpucu: Parametre tipleri aynıysa (a, b int) şeklinde kısaltılabilir).

Çoklu Geri Dönüş (Multiple Return)​

Bir fonksiyon hem sonucu hem de (varsa) hatayı döndürebilir.

Kod:
func bolme(a, b float64) (float64, string) {
    if b == 0 {
        return 0, "Hata: Sıfıra bölünemez"
    }
    return a / b, "Başarılı"
}

// Kullanımı:
sonuc, mesaj := bolme(10, 2)

Variadic Fonksiyonlar (...Parametre)​

Fonksiyonun kaç tane parametre alacağı belli değilse (örn: fmt.Println gibi), üç nokta ... kullanılır.

Kod:
func topla(sayilar ...int) int {
    toplam := 0
    for _, sayi := range sayilar {
        toplam += sayi
    }
    return toplam
}

// Kullanımı:
topla(1, 2)
topla(10, 20, 30, 40) // İstediğin kadar gönder

Sonuç​

Çoklu geri dönüş değeri, Go'nun en sevilen özelliklerinden biridir. Özellikle (result, error) ikilisini döndürmek Go programcılığının standardıdır.
 
Geri
Üst