CodeBlanks Logo Icon CodeBlanks

Çoklu dönüş

Go'nun çoklu dönüş özelliğini ve isimli dönüşleri öğrenirsin.

Çoklu dönüş

Go fonksiyonları birden çok değer döndürebilir. En yaygın kullanım (sonuç, error) çiftidir:

func bolKalan(a, b int) (int, int) {
    return a / b, a % b
}

bolum, kalan := bolKalan(17, 5)
fmt.Println(bolum, kalan)  // 3 2

Bir değere ihtiyacın yoksa _ ile atlarsın: _, kalan := bolKalan(17, 5).

Adlandırılmış dönüş

Dönüş değerlerine ad verilebilir; bu adlar fonksiyon başında sıfır değeriyle tanımlanmış değişkenlerdir ve çıplak return onları döndürür:

func minMax(s []int) (min, max int) {
    min, max = s[0], s[0]
    for _, v := range s {
        if v < min { min = v }
        if v > max { max = v }
    }
    return
}

Kısa fonksiyonlarda belgelemeye yardım eder; uzun fonksiyonlarda çıplak return okumayı zorlaştırır.

Uygulama En küçük ve en büyük

Adlandırılmış dönüşle minMax(s []int) (min, max int) fonksiyonunu yaz. minMax([]int{4, 9, 1, 7}) sonucunu yazdır.

Başlangıç kodu

main.go
package main

import "fmt"

func main() {
    // buraya yaz
}

Örnek çözüm

main.go
package main

import "fmt"

func minMax(s []int) (min, max int) {
    min, max = s[0], s[0]
    for _, v := range s {
        if v < min {
            min = v
        }
        if v > max {
            max = v
        }
    }
    return
}

func main() {
    fmt.Println(minMax([]int{4, 9, 1, 7}))
}

Beklenen çıktı

1 9

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Kullanılmayan bir dönüş değerini neden <code>_</code> ile atarsın?

  • Daha hızlı çalışır
  • Değer sıfırlanır
  • Zorunlu değildir, fark etmez
  • Go kullanılmayan yerel değişkene derleme hatası verir Doğru cevap

Açıklama: Tanımlanıp kullanılmayan değişken Go'da hatadır; boş tanımlayıcı _ değeri bilerek yok saydığını gösterir.

2 Değeri atla

Soru
____, kalan := bolKalan(17, 5)
Cevap
_, kalan := bolKalan(17, 5)

Açıklama: Boş tanımlayıcı _ istenmeyen dönüş değerini atar.

3 Sözdizimi

Kavram Anlamı
(int, int) İki dönüş türü
(min, max int) Adlandırılmış dönüş
return Çıplak dönüş
_ Değeri yok say

Başlangıç bölümündeki tüm dersler