Standart kütüphane
- Kotlin kursu
- Orta seviye
- Ders 40/116
- 5 dk
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
// 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
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
val doubled = listOf(1, 2, 3).____ { it * 2 }
val doubled = listOf(1, 2, 3).map { it * 2 }
Açıklama: map her öğeyi dönüştürür.