İşlevler ve Lambda'lar
Parametreleri ve dönüş türlerini belirterek işlevler tanımlayın, varsayılan ve adlandırılmış bağımsız değişkenleri kullanın ve özlü lambda ifadeleri yazın.
İşlevler ve Lambda'lar, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 3 dersinin 2. 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, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 3 dersten oluşur.
İşlevler Neden Kullanılır?
İşlevler, bir kod bloğunu bir kez yazıp istediğiniz yerde yeniden kullanmanızı sağlar.
- Tekrarlamayı azaltır
- Kodu okumayı ve test etmeyi kolaylaştırır
- Büyük sorunları daha küçük parçalara ayırır
Kotlin'de işlevler birinci sınıf değerlerdir; onları değişkenlerde saklayabilir ve başka yerlere aktarabilirsiniz.
Temel İşlev Sözdizimi
Bir Kotlin işlevinde fun anahtar sözcüğü kullanılır:
fun greet(name: String): String {
return "Hello, $name!"
}
fun main() {
val msg = greet("Alice")
println(msg) // Hello, Alice!
println(greet("Bob")) // Hello, Bob!
}Tek İfadeli İşlevler
Bir işlev gövdesi tek bir ifadeden oluştuğunda = kullanabilir, süslü parantezleri ve return ifadesini atlayabilirsiniz:
fun square(n: Int): Int = n * n
fun add(a: Int, b: Int) = a + b // type inferred
fun main() {
println(square(5)) // 25
println(add(3, 7)) // 10
}Varsayılan ve Adlandırılmış Bağımsız Değişkenler
Kotlin işlevleri varsayılan parametre değerlerini destekler; aşırı yüklemelere gerek kalmaz:
- Varsayılan:
fun greet(name: String = "World") - Adlandırılmış: Sıralı konumu atlamak için
greet(name = "Alice")çağrısını kullanın
Varsayılan ve Adlandırılmış Kullanım
Varsayılan bağımsız değişkenler, uygulama programlama arayüzünüzü temiz tutar:
fun buildProfile(
name: String,
age: Int = 0,
role: String = "User"
): String {
return "$name | age=$age | $role"
}
fun main() {
println(buildProfile("Alice"))
println(buildProfile("Bob", age = 30))
println(buildProfile("Carol", 25, "Admin"))
}Lambdalar Nedir?
Lambda, anonim bir işlevdir; yani adı olmayan bir işlevdir.
- Sözdizimi:
{ params -> body } - Bir değişkende saklanabilir:
val double = { x: Int -> x * 2 } - Başka bir işleve bağımsız değişken olarak aktarılabilir
Lambdalar Android'de her yerde kullanılır: tıklama dinleyicilerinde, liste dönüştürmelerinde ve eş yordamlarında.
Lambda Örnekleri
Lambdaları normal işlevler gibi saklayıp çağırın:
fun main() {
val double = { x: Int -> x * 2 }
println(double(4)) // 8
val add = { a: Int, b: Int -> a + b }
println(add(3, 5)) // 8
// Lambda with no params
val sayHi = { println("Hi!") }
sayHi() // Hi!
}Üst Düzey İşlevler
Üst düzey işlev, başka bir işlevi parametre olarak alan veya başka bir işlev döndüren işlevdir.
Kotlin standart kitaplığı bu tür işlevlerle doludur: filter, map, forEach.
Sondaki lambda sözdizimi: Son bağımsız değişken lambda olduğunda onu parantezlerin dışına taşıyabilirsiniz.
Sondaki Lambda Sözdizimi
Bir lambdayı son bağımsız değişken olarak parantezlerin dışında aktarın:
fun applyTwice(n: Int, operation: (Int) -> Int): Int {
return operation(operation(n))
}
fun main() {
val result = applyTwice(3) { x -> x * 2 }
println(result) // 12 (3 * 2 = 6, 6 * 2 = 12)
// 'it' is the implicit single parameter
val doubled = applyTwice(5) { it + it }
println(doubled) // 20
}Hızlı Kontrol
Bu koda bakın. Ne yazdırır?
val triple = { x: Int -> x * 3 }
println(triple(4))
Özet: İşlevler ve Lambdalar
Şunları öğrendiniz:
fun, parametreleri ve dönüş türü olan bir işlev tanımlar- Tek ifadeli işlevlerde
=kısaltması kullanılır - Varsayılan ve adlandırılmış bağımsız değişkenler, aşırı yüklemelerin yerini alır
- Lambdalar anonim işlevlerdir:
{ params -> body } - Üst düzey işlevler, işlevleri parametre olarak kabul eder
Sırada: koşullar ve döngülerle program akışını kontrol etmek var.
Sıkça Sorulan Sorular
“İşlevler ve Lambda'lar” dersi ücretsiz mi?
Evet — “İşlevler ve Lambda'lar” 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 Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 3 dersten oluşur.
“İşlevler ve Lambda'lar” dersinde ne öğreneceğim?
Parametreleri ve dönüş türlerini belirterek işlevler tanımlayın, varsayılan ve adlandırılmış bağımsız değişkenleri kullanın ve özlü lambda ifadeleri yazın. Android 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.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android 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, 3 dersinin 2. dersidir.
“İşlevler ve Lambda'lar” 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 Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android 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
- Değişkenler ve Veri Türleri
- İşlevler ve Lambda'lar
- Denetim Akışı