CodeBlanks Logo Icon CodeBlanks

Standart kütüphane

Kotlin standart kütüphanesinde extension'ları öğrenirsin.

Standart kütüphane extension'ları

Kotlin standart kütüphanesi birçok extension function ile gelir. En bilinenler let, run, apply, also, with ve koleksiyon metotlarıdır.

Örnek: "5".toIntOrNull()?.let { println(it * 2) }. Burada toIntOrNull() bir String extension'ı, let ise nullable değerler için kullanılan standart bir extension'dır. listOf(1, 2, 3).map { it * 2 } çağrısı [2, 4, 6] döndürür; map de bir standart extension'dır. Standart kütüphane extension'ları günlük işleri kısa ve okunaklı yazar.

map ve let

Standart extension'lardan map ve let en sık kullanılanlardır. map koleksiyonu dönüştürür; let nullable değerlerle güvenli çalışır.

Örnek: listOf(1, 2, 3).map { it * 2 } çağrısı [2, 4, 6] döndürür. "5".toIntOrNull()?.let { println(it * 2) } ise önce "5"'i 5'e çevirir, null değilse 10 yazdırır. it lambda'nın tek parametresini ifade eder. Bu extension'lar kısa ve okunaklı kod için standarttır.

Uygulama map ve let kullanımı

main içinde val nums = listOf(1, 2, 3) bildir; nums.map { it * 2 } sonucunu println ile yazdır. Ayrıca "5".toIntOrNull()?.let { println(it * 2) } çağrısını ekle.

Başlangıç kodu

Main.kt
// nums listesi tanımı
// map ile her öğeyi ikiye katla ve yazdır
// let ile "5" sayısını ikiye katla ve yazdır

Örnek çözüm

Main.kt
fun main() {
    val nums = listOf(1, 2, 3)
    println(nums.map { it * 2 })
    "5".toIntOrNull()?.let { println(it * 2) }
}

Beklenen çıktı

[2, 4, 6]
10

Soru ve cevaplar

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

1 standart kütüphane extension'larını eşle

Kavram Anlamı
"5".toIntOrNull() String extension'ı
?.let { ... } Nullable extension
list.map { ... } Koleksiyon extension'ı
it Lambda parametresi

2 <code>listOf(1, 2, 3).map { it * 2 }</code> ne döndürür?

  • Hata fırlatır
  • [1, 2, 3]
  • [3, 6, 9]
  • [2, 4, 6] Doğru cevap

Açıklama: map her öğeyi 2 ile çarpar; sonuç [2, 4, 6].

3 map extension'ını tamamla

Soru
val doubled = listOf(1, 2, 3).____ { it * 2 }
Cevap
val doubled = listOf(1, 2, 3).map { it * 2 }

Açıklama: map her öğeyi dönüştürür.

Orta seviye bölümündeki tüm dersler