Güvenli Çağrı ?. ve Gerçek Kodda Elvis ?:
Güvenli çağrıları zincirleyin ve Elvis işleciyle geri dönüş değerleri sağlayın.
Güvenli Çağrı ?. ve Gerçek Kodda Elvis ?:, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 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, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.
İki İşleç, Büyük Etki
Güvenli çağrı ?., alıcı yalnızca null değilse bir üyeyi çağırır. Elvis işleci ?:, sol taraf null olduğunda bir geri dönüş değeri sağlar.
Güvenli Çağrı Temelleri
x?.member, x null ise null olarak değerlendirilir; aksi takdirde member öğesine normal şekilde erişir.
fun main() {
val name: String? = "Kotlin"
val len: Int? = name?.length
println(len) // 6
val nope: String? = null
println(nope?.length) // null
}Elvis İşleci Temelleri
x ?: default, x null değilse x'i, aksi takdirde sağdaki default değerini döndürür.
fun main() {
val name: String? = null
val display = name ?: "Anonymous"
println(display) // Anonymous
}Güvenli Çağrı ile Elvis'i Birleştirme
Yaygın kalıp: obj?.member ?: default — değeri okuyun veya geri dönüş değerini kullanın.
fun main() {
val name: String? = null
val length = name?.length ?: 0
println("length = $length") // 0
}Güvenli Çağrıları Zincirleme
?. işlecini birden çok düzey boyunca zincirleyin; herhangi bir bağlantı null ise ifadenin tamamı kısa devre yaparak null olur.
class Address(val city: String?)
class User(val address: Address?)
fun main() {
val u: User? = User(Address(null))
val city = u?.address?.city ?: "Unknown"
println(city) // Unknown
}Sağ Tarafta Elvis ile Hata Fırlatma
Elvis işlecinin sağ tarafı, throw dahil olmak üzere herhangi bir ifade olabilir; bu, zorunlu değer denetimleri için kullanışlıdır.
fun loadConfig(path: String?): String {
val p = path ?: throw IllegalArgumentException("path required")
return "loaded $p"
}
fun main() {
println(loadConfig("/etc/app"))
// loadConfig(null) // throws
}Yöntemlerle Güvenli Çağrı
Güvenli çağrılar yalnızca özellik erişiminde değil, herhangi bir yöntemde çalışır.
fun main() {
val raw: String? = " hello "
val cleaned = raw?.trim()?.uppercase() ?: ""
println(cleaned) // HELLO
}Koşullarda Güvenli Çağrı
Güvenli çağrıları koşulların içinde kullanabilirsiniz. Varsayılan Boolean değerleri için bunları Elvis ile birleştirin.
fun main() {
val name: String? = "Alice"
if (name?.startsWith("A") == true) {
println("Starts with A")
}
}return ile Elvis
Koruma koşulları için Elvis'i return ile kullanın: gerekli bir değer null ise erken çıkın.
fun process(input: String?) {
val safe = input ?: return
println("processing $safe")
}
fun main() {
process("abc")
process(null) // returns silently
}continue/break ile Elvis
Döngülerin içinde Elvis, kısa null işlemesi için continue veya break ile kısa devre yapabilir.
fun main() {
val items: List<String?> = listOf("a", null, "b", null, "c")
for (item in items) {
val v = item ?: continue
print("$v ")
}
println() // a b c
}Uygulama: Yapılandırma Arama
Güvenli çağrı ile Elvis, isteğe bağlı yapılandırmayı bir varsayılan değerle okuyan tek satırlık bir ifadede birleştirilebilir.
class Config(val timeoutMs: Int?, val host: String?)
fun main() {
val cfg: Config? = Config(null, "prod.example.com")
val timeout = cfg?.timeoutMs ?: 5000
val host = cfg?.host ?: "localhost"
println("$host @ $timeout ms")
}Kısa Denetim
user null olduğunda user?.email ?: "unknown" neye değerlendirilir?
Özet
Kısa ve null güvenli kod için güvenli çağrıyı (?.) ve Elvis'i (?:) birleştirin. Eksik verilerde koruma koşullarından erken çıkmak için Elvis'i throw veya return ile kullanın.
Sıkça Sorulan Sorular
“Güvenli Çağrı ?. ve Gerçek Kodda Elvis ?:” dersi ücretsiz mi?
Evet — “Güvenli Çağrı ?. ve Gerçek Kodda Elvis ?:” 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 Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.
“Güvenli Çağrı ?. ve Gerçek Kodda Elvis ?:” dersinde ne öğreneceğim?
Güvenli çağrıları zincirleyin ve Elvis işleciyle geri dönüş değerleri sağlayın. Kotlin 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.
Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin 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, 4 dersinin 2. dersidir.
“Güvenli Çağrı ?. ve Gerçek Kodda Elvis ?:” 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 Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin 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
- Nullable Türler ve ? Değiştiricisi
- Güvenli Çağrı ?. ve Gerçek Kodda Elvis ?:
- Nullable Alıcılarla let, also ve run
- !! İşleci: Ne Zaman ve Neden Kaçınılmalı