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) // 15fmt.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 timesDeğ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[]Tdeğerinde toplar- Tek tek değerlerle çağırabilir veya
slice...kullanarak bir dilimi yayabilirsiniz appendvefmt.Printlngibi 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
- İşlev Temelleri ve İmzalar
- Birden Çok Dönüş Değeri
- Değişken Sayıda Bağımsız Değer Alan İşlevler
- defer, Anonim İşlevler ve Kapanışlar