0Pricing
Go Academy · Ders

Birden Çok Dönüş Değeri

Demetleri ve error örüntüsünü döndürme

Birden Çok Dönüş Değeri, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.

Birden Çok Dönüş Neden Kullanılır?

Go işlevleri birden çok değer döndürebilir; böylece çıktı parametrelerine veya özel durumlara olan ihtiyaç ortadan kalkar. En yaygın kalıp bir sonuç ile bir hata döndürmektir:

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("division by zero")
    }
    return a / b, nil
}

Birden Çok Dönüşü Ele Alma

Çağıranlar tüm dönüş değerlerini bir demet olarak alır. İhtiyacınız olmayan değerleri atmak için _ kullanın:

result, err := divide(10, 3)
if err != nil {
    log.Fatal(err)
}
fmt.Println(result)

value, _ := divide(8, 2) // discard error

Adlandırılmış Dönüş Değerleri

Dönüş değerleri adlandırılabilir ve böylece işlev içinde değişkenlere dönüştürülebilir:

func minMax(nums []int) (min, max int) {
    min, max = nums[0], nums[0]
    for _, n := range nums[1:] {
        if n < min { min = n }
        if n > max { max = n }
    }
    return // naked return
}

Çıplak Dönüşler

Bağımsız değişken içermeyen bir return, adlandırılmış dönüş değişkenlerini döndürür. Bunu yalnızca adları kendi açıklamasını yapan kısa işlevlerde ve ölçülü biçimde kullanınız:

  • Kısa işlevler: kabul edilebilir
  • Uzun işlevler: okunabilirliği azaltır; açık dönüşleri tercih ediniz

(değer, hata) Deseni

Go'da kanonik hata işleme deseni:

func readConfig(path string) (Config, error) {
    data, err := os.ReadFile(path)
    if err != nil {
        return Config{}, fmt.Errorf("read config: %w", err)
    }
    var cfg Config
    return cfg, json.Unmarshal(data, &cfg)
}

Hataları Asla Yok Saymayınız

Hataları _ ile yok saymak tehlikelidir. En iyi uygulamalar:

  • Yok saymamak için özel bir nedeniniz olmadıkça her hatayı kontrol ediniz
  • fmt.Errorf("op: %w", err) kullanarak hataları bağlam bilgisiyle sarmalayınız
  • log.Fatal veya panic'i derinlerdeki kitaplıklarda değil, yalnızca program sınırlarında kullanınız

Üç Değer Döndüren İşlevler

Bazı işlevler, daha az yaygın olsa da üç değer döndürür:

func parseIPPort(s string) (ip string, port int, err error) {
    // ... parsing logic
    return
}

Yapıların ve Birden Çok Değerin Döndürülmesi

Ne zaman yapı, ne zaman birden çok değer döndürülmeli:

  • Birbiriyle güçlü biçimde ilişkili 2-3 değer: birden çok dönüş uygundur
  • 4 veya daha fazla değer ya da isteğe bağlı alanlar: yapı kullanınız
  • (değer, hata) deseni: her zaman birden çok dönüş kullanınız

Mevcut Değişkenlere Atama

Çağrının dışında zaten bildirilmiş değişkenlere atama yaparken := yerine = kullanınız:

var cfg Config
var err error
cfg, err = loadConfig()
if err != nil { ... }

Yöntem Zincirlemede Birden Çok Dönüş

Go, birden çok dönüş değerinde doğrudan yöntem zincirlemeyi desteklemez (Rust'taki Result.map'in aksine). Her adımda hataları işlemek için ara değişkenler kullanınız:

data, err := fetchData(url)
if err != nil { return err }
parsed, err := parseData(data)
if err != nil { return err }
return save(parsed)

Hızlı Kontrol

Go'da çıplak dönüş ne yapar?

Özet: Birden Çok Dönüş Değeri

Birden çok dönüş, Go'nun temel deyimlerinden biridir:

  • İşlevler, parantez içindeki bir listede birden çok değer döndürebilir
  • (değer, hata) deseni her yerde kullanılır; hatayı her zaman kontrol ediniz
  • Adlandırılmış dönüş değişkenleri çıplak dönüşleri mümkün kılar; ölçülü kullanınız
  • İhtiyacınız olmayan değerleri yok saymak için _ kullanınız
  • Daha temiz arayüzler için çıkış parametreleri yerine birden çok dönüşü tercih ediniz

Sıradaki konu: değişken sayıda bağımsız değişken alan işlevler.

Sıkça Sorulan Sorular

“Birden Çok Dönüş Değeri” dersi ücretsiz mi?

Evet — “Birden Çok Dönüş Değeri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.

“Birden Çok Dönüş Değeri” dersinde ne öğreneceğim?

Demetleri ve error örüntüsünü döndürme Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Go Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Birden Çok Dönüş Değeri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İşlev Temelleri ve İmzalar
  2. Birden Çok Dönüş Değeri
  3. Değişken Sayıda Bağımsız Değer Alan İşlevler
  4. defer, Anonim İşlevler ve Kapanışlar
← Go Academy Sayfasına Dön