0Pricing
Go Academy · Ders

Değişken Sayıda Bağımsız Değer Alan İşlevler

Değişken sayıda bağımsız değişken kabul etme

Değişken Sayıda Bağımsız Değer Alan İşlevler, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 3. 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.

Değişken Sayıda Bağımsız Değer Alan İşlev Nedir?

Değişken sayıda bağımsız değişken alan işlev, belirtilen türde sıfır veya daha fazla bağımsız değişken kabul eder ve bunları bir dilimde toplar:

func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

fmt.Println(sum(1, 2, 3, 4)) // 10

...T Söz Dizimi

Son parametre türü olarak ...T kullanınız. İşlevin içinde bu, bir []T değeridir:

  • 0 veya daha fazla bağımsız değişkenle çağrılabilir
  • Değişken sayıda bağımsız değişken alan parametre son parametre olmalıdır
  • Her işlevde yalnızca bir değişken sayıda bağımsız değişken alan parametre bulunabilir

Bir Dilimi Açma

Mevcut bir dilimi, ... yayma işleciyle değişken sayıda bağımsız değişken alan bir işleve aktarınız:

nums := []int{1, 2, 3, 4, 5}
total := sum(nums...)  // spread the slice
fmt.Println(total)     // 15

fmt.Println Değişken Sayıda Değer Alır

Standart kitaplıktaki birçok işlev değişken sayıda bağımsız değişken alır. fmt.Println imzası func Println(a ...interface{}) (n int, err error) şeklindedir; her türden istenen sayıda değer kabul eder.

append Değişken Sayıda Değer Alır

Yerleşik append işlevi değişken sayıda bağımsız değişken alır:

a := []int{1, 2, 3}
b := []int{4, 5, 6}
a = append(a, b...)   // append all of b into a
fmt.Println(a)         // [1 2 3 4 5 6]

Diğer Parametrelerle Birlikte Değişken Sayıda Değer Alma

Değişken sayıda bağımsız değişken alan parametreler son sırada gelir. Sabit ve değişken sayıda parametreleri birlikte kullanabilirsiniz:

func logf(level string, msg string, args ...interface{}) {
    fmt.Printf("[%s] "+msg+"\n", append([]interface{}{level}, args...)...)
}

Boş Değişken Sayıda Değer Çağrısı

Değişken sayıda bağımsız değişken alan bir işlev, hiç bağımsız değişken olmadan çağrılabilir; bu durumda dilim nil (veya boş) olur:

fmt.Println(sum())   // 0 — nil slice, loop runs 0 times

Değişken Sayıda Değer Alan Parametre ve Dilim Parametresi

Değişken sayıda değer alan parametreyi ve dilim parametresini ne zaman kullanmalı:

  • Değişken sayıda değer alan parametre: çağıranlar tek tek değerleri satır içinde sağladığında (ör. sum(1,2,3))
  • Dilim: çağıranlar her zaman önceden oluşturulmuş bir koleksiyona sahip olduğunda
  • Değişken sayıda değer alan parametre, çağrı noktalarında daha kullanışlıdır; işlevin içinde her ikisi de aynı şekilde çalışır

Değişken Sayıda Değerleri Başka Bir İşleve Aktarma

Değişken sayıda bağımsız değişkenleri yayma işleciyle başka bir işleve aktarınız:

func logError(args ...interface{}) {
    log.Println(args...) // forward to log.Println
}

Seçenek Desenleri Oluşturma

Değişken sayıda ...Option parametresi, isteğe bağlı yapılandırma için (işlevsel seçenekler) yaygın bir desendir:

type Option func(*Server)

func NewServer(addr string, opts ...Option) *Server {
    s := &Server{addr: addr}
    for _, o := range opts {
        o(s)
    }
    return s
}

Hızlı Kontrol

Bir dilimi, değişken sayıda bağımsız değişken alan bir işleve nasıl aktarırsınız?

Özet: Değişken Sayıda Bağımsız Değer Alan İşlevler

Değişken sayıda bağımsız değişken alan işlevler, çağrı noktalarını sadeleştirir:

  • ...T, sondaki bağımsız değişkenleri işlevin içinde bir []T değerinde toplar
  • Tek tek değerlerle çağırabilir veya slice... kullanarak bir dilimi yayabilirsiniz
  • append ve fmt.Println gibi yerleşik işlevler değişken sayıda bağımsız değişken alır
  • Yalnızca bir değişken sayıda bağımsız değişken alan parametreye izin verilir ve bu parametre son sırada olmalıdır
  • Anlatımı güçlü arayüz tasarımı için işlevsel seçenekler desenini kullanınız

Sıradaki konu: defer, anonim işlevler ve kapanımlar.

Sıkça Sorulan Sorular

“Değişken Sayıda Bağımsız Değer Alan İşlevler” dersi ücretsiz mi?

Evet — “Değişken Sayıda Bağımsız Değer Alan İşlevler” 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.

“Değişken Sayıda Bağımsız Değer Alan İşlevler” dersinde ne öğreneceğim?

Değişken sayıda bağımsız değişken kabul etme 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 3. dersidir.

“Değişken Sayıda Bağımsız Değer Alan İşlevler” 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