CodeBlanks Logo Icon CodeBlanks

Default parametreler

Varsayılan değerli parametreler tanımlamayı öğrenirsin.

Default parametreler: varsayılan değer

Bir parametreye varsayılan değer verebilirsin: fun greet(name: String, msg: String = "Merhaba"). Çağıran bu parametreyi yazmazsa varsayılan kullanılır; yazarsa ezilir.

fun greet(name: String, msg: String = "Merhaba") {
    println("$msg $name")
}
greet("Ayşe")             // Merhaba Ayşe
greet("Ayşe", "Selam")    // Selam Ayşe

Default parametreler, fonksiyonun birçok kullanım biçimini tek tanımda desteklemesini sağlar; aşırı yükleme (overload) yazma ihtiyacını azaltır.

Default parametrelerin sırası

Default parametreler genellikle parametre listesinin sonunda yer alır. Bu, çağıranın öndeki zorunlu parametreleri konumla verip sonrasını yazmamasına olanak tanır.

fun order(item: String, qty: Int = 1, gift: Boolean = false)
order("kitap")              // qty=1, gift=false
order("kitap", 3)           // qty=3, gift=false
order("kitap", 3, true)     // qty=3, gift=true

Eğer default olmayan bir parametre default olandan sonra gelirse, çağıran default olanı atlamak için isimli argüman kullanmak zorundadır.

Uygulama Default parametreli greet fonksiyonu

Bir fun greet(name: String, msg: String = "Merhaba") tanımla; gövdesi println("$msg $name") yapsın. main içinden greet("Ayşe") çağrısı yap.

Başlangıç kodu

Main.kt
fun main() {
    // greet fonksiyonunu "Ayşe" ile çağır (msg varsayılan)
}

// greet fonksiyonunu tanımla: msg parametresi "Merhaba" varsayılanı

Örnek çözüm

Main.kt
fun main() {
    greet("Ayşe")
}

fun greet(name: String, msg: String = "Merhaba") {
    println("$msg $name")
}

Beklenen çıktı

Merhaba Ayşe

Soru ve cevaplar

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

1 Boşluğu doldur: varsayılan değer

Soru
fun greet(name: String, msg: String ____ "Merhaba")
Cevap
fun greet(name: String, msg: String = "Merhaba")

Açıklama: msg: String = "Merhaba" varsayılan değer atar.

2 Çağrı biçimini sonucuyla eşleştir

Kavram Anlamı
msg: String = "Hi" Varsayılan değerli parametre
name: String Zorunlu parametre
greet("Ayşe") Varsayılan kullanılır
greet("Ayşe", "Hi") Varsayılan ezilir

3 fun greet(name: String, msg: String = "Merhaba"); greet("Ayşe") ne yazdırır?

  • Merhaba Ayşe Doğru cevap
  • Ayşe
  • Exception fırlatır
  • Hi Ayşe

Açıklama: msg verilmediği için varsayılan "Merhaba" kullanılır.

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