Golangda değişken fonksiyonlar

Kaydolun ve günde 1000 $ kazanın ⋙

Go'daki değişkenli fonksiyonlar, bir fonksiyona değişken sayıda argüman geçirmenize olanak tanır. Bu özellik, önceden kaç argüman ileteceğinizi bilmediğinizde kullanışlıdır. Bir Golang değişkenli fonksiyonu  aynı tipte birden fazla argüman kabul eder ve hiç argüman olmadan da herhangi bir sayıda argümanla çağrılabilir.

Golang'da değişken fonksiyonlar

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

Sonuç:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

Sözdizimi:

func functionName(parameters ...Type) ReturnType {
    // Code
}

Yukarıdaki sözdiziminde:

  • parameters ...Typefonksiyonun Type türünde değişken sayıda argüman kabul edebileceğini belirtir.
  • Bir fonksiyondaki argümanlara dilim olarak erişebilirsiniz.

Golang'da belirsiz fonksiyonlar nasıl kullanılır

Variadic fonksiyonları kullanma

Değişkenli bir fonksiyon tanımlarken, yukarıdaki örnekte olduğu gibi argüman türünü üç nokta (...) ile belirtirsiniz. Fonksiyonun içerisinde bu argümanlar bir dilim olarak düşünülebilir.

Değişkenli bir fonksiyonu çağırma

Sıfır dahil olmak üzere herhangi bir sayıda argümanla değişkenli bir fonksiyonu çağırabilirsiniz. Bu fonksiyon argümanları bir dilim olarak ele alır.

Örneğin:

package main
import "fmt"

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

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

Sonuç:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

Farklı parametrelere sahip değişkenli fonksiyon

Bir fonksiyon içerisinde değişkenli parametreleri normal parametrelerle birleştirebilirsiniz. Değişkenli parametreler her zaman son parametre olmalıdır.

Örneğin:

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

// Hàm với tham số thông thường và variadic 
func greet(prefix string, nums ...int) {
    fmt.Println(prefix)
    for _, n := range nums {
        fmt.Println("Number:", n)
    }
}
func main() {
    greet("Sum of numbers:", 1, 2, 3)
    greet("Another sum:", 4, 5)
    greet("No numbers sum:")
}

Sonuç:

Sum of numbers:
Number: 1
Number: 2
Number: 3
Another sum:
Number: 4
Number: 5
No numbers sum:

Variadic fonksiyonların sınırlamaları

  • Değişkenli fonksiyonların yalnızca bir değişkenli parametresi olabilir ve bu parametre mutlaka son parametre olmalıdır.
  • Tek bir fonksiyon tanımında birden fazla değişkenli parametre olamaz.
Sign up and earn $1000 a day ⋙

Leave a Comment

Normal TV ile Akıllı TV arasındaki fark

Normal TV ile Akıllı TV arasındaki fark

Akıllı televizyonlar gerçekten dünyayı kasıp kavurdu. Teknolojinin sunduğu pek çok harika özellik ve internet bağlantısı, televizyon izleme şeklimizi değiştirdi.

Dondurucuda ışık yokken buzdolabında neden ışık var?

Dondurucuda ışık yokken buzdolabında neden ışık var?

Buzdolapları evlerde sıkça kullanılan cihazlardır. Buzdolapları genellikle 2 bölmeden oluşur, soğutucu bölme geniştir ve kullanıcı her açtığında otomatik olarak yanan bir ışığa sahiptir, dondurucu bölme ise dardır ve hiç ışığı yoktur.

Wi-Fiyi Yavaşlatan Ağ Tıkanıklığını Gidermenin 2 Yolu

Wi-Fiyi Yavaşlatan Ağ Tıkanıklığını Gidermenin 2 Yolu

Wi-Fi ağları, yönlendiriciler, bant genişliği ve parazitlerin yanı sıra birçok faktörden etkilenir; ancak ağınızı güçlendirmenin bazı akıllı yolları vardır.

Tenorshare Reiboot Kullanarak Veri Kaybı Olmadan iOS 17den iOS 16ya Nasıl Geri Dönülür

Tenorshare Reiboot Kullanarak Veri Kaybı Olmadan iOS 17den iOS 16ya Nasıl Geri Dönülür

Telefonunuzda kararlı iOS 16'ya geri dönmek istiyorsanız, iOS 17'yi kaldırma ve iOS 17'den 16'ya geri dönme konusunda temel kılavuzu burada bulabilirsiniz.

Her gün yoğurt yediğinizde vücudunuzda neler olur?

Her gün yoğurt yediğinizde vücudunuzda neler olur?

Yoğurt harika bir besindir. Her gün yoğurt yemek faydalı mıdır? Her gün yoğurt yediğinizde vücudunuzda nasıl değişiklikler olur? Hadi birlikte öğrenelim!

Hangi pirinç türü sağlık açısından daha iyidir?

Hangi pirinç türü sağlık açısından daha iyidir?

Bu yazıda en besleyici pirinç türleri ve seçtiğiniz pirincin sağlık yararlarından nasıl en iyi şekilde yararlanabileceğiniz ele alınıyor.

Sabahları zamanında nasıl uyanılır

Sabahları zamanında nasıl uyanılır

Uyku düzeninizi ve uyku vakti rutininizi oluşturmak, çalar saatinizi değiştirmek ve beslenmenizi buna göre ayarlamak, daha iyi uyumanıza ve sabahları zamanında uyanmanıza yardımcı olabilecek önlemlerden birkaçıdır.

Rent Please! oynamak için ipuçları Yeni Başlayanlar İçin Ev Sahibi Simülasyonu

Rent Please! oynamak için ipuçları Yeni Başlayanlar İçin Ev Sahibi Simülasyonu

Kiralayın Lütfen! Landlord Sim, iOS ve Android'de oynanabilen bir simülasyon mobil oyunudur. Bir apartman kompleksinin ev sahibi olarak oynayacak ve dairenizin içini iyileştirme ve kiracılar için hazır hale getirme amacıyla bir daireyi kiralamaya başlayacaksınız.

En Son Banyo Kule Savunma Kodları ve Kodların Nasıl Girileceği

En Son Banyo Kule Savunma Kodları ve Kodların Nasıl Girileceği

Bathroom Tower Defense Roblox oyun kodunu alın ve heyecan verici ödüller için kullanın. Daha yüksek hasara sahip kuleleri yükseltmenize veya kilidini açmanıza yardımcı olacaklar.

Transformatörlerin yapısı, sembolleri ve çalışma prensipleri

Transformatörlerin yapısı, sembolleri ve çalışma prensipleri

Transformatörlerin yapısını, sembollerini ve çalışma prensiplerini en doğru şekilde öğrenelim.

Yapay Zekanın Akıllı TVleri Daha İyi Hale Getirmesinin 4 Yolu

Yapay Zekanın Akıllı TVleri Daha İyi Hale Getirmesinin 4 Yolu

Daha iyi görüntü ve ses kalitesinden ses kontrolüne ve daha fazlasına kadar, bu yapay zeka destekli özellikler akıllı televizyonları çok daha iyi hale getiriyor!

ChatGPT neden DeepSeekten daha iyidir

ChatGPT neden DeepSeekten daha iyidir

Başlangıçta DeepSeek'e yönelik büyük umutlar vardı. ChatGPT'ye güçlü bir rakip olarak pazarlanan bir yapay zeka sohbet robotu olarak, akıllı sohbet yetenekleri ve deneyimleri vadediyor.

Fireflies.ai ile tanışın: Size Saatlerce Çalışma Kazandıran Ücretsiz AI Sekreteri

Fireflies.ai ile tanışın: Size Saatlerce Çalışma Kazandıran Ücretsiz AI Sekreteri

Önemli ayrıntıları not alırken gözden kaçırmak kolaydır ve sohbet ederken not almaya çalışmak dikkat dağıtıcı olabilir. Çözüm Fireflies.ai'dır.

Axolotl Minecraft nasıl yetiştirilir, Minecraft Salamander nasıl evcilleştirilir

Axolotl Minecraft nasıl yetiştirilir, Minecraft Salamander nasıl evcilleştirilir

Axolot Minecraft, oyuncuların su altında görev yaparken nasıl kullanacaklarını bilmeleri durumunda harika bir yardımcı olacaktır.

Sessiz Bir Yer: Önümüzdeki Yol PC Oyun Yapılandırması

Sessiz Bir Yer: Önümüzdeki Yol PC Oyun Yapılandırması

A Quiet Place: The Road Ahead'in yapılandırması oldukça yüksek olarak derecelendirilmiştir, bu yüzden indirmeye karar vermeden önce yapılandırmayı göz önünde bulundurmanız gerekecektir.