Güvenli Çağrı Operatörü
Coddy'nin Kotlin Journey'sinin Temel Kavramlar bölümünün bir parçası. Ders 14 / 93.
Null olabilir bir değişkeniniz olduğunda, bu değişken üzerinde doğrudan yöntemleri çağıramaz veya özelliklere erişemezsiniz: derleyici buna izin vermez çünkü değer null olabilir. Güvenli çağrı operatörü ?. bu sorunu zarif bir şekilde çözer.
Normal nokta . kullanmak yerine, null atanabilir bir türün üyelerine güvenli şekilde erişmek için ?. kullanırsın:
fun main() {
val name: String? = "Alice"
val length = name?.length // 5 döndürür
println(length)
val nullName: String? = null
val nullLength = nullName?.length // null döndürür (çökme olmaz!)
println(nullLength)
}Güvenli çağrı operatörü, özelliğe veya yönteme erişmeden önce değerin null olup olmadığını kontrol eder. Değer null ise, tüm ifade çökmek yerine null döndürür. Değer varsa, normal bir çağrı gibi çalışır.
Birden fazla güvenli çağrıyı da zincirleme yapabilirsiniz:
fun main() {
val text: String? = "Hello"
val result = text?.uppercase()?.length
println(result) // Yazdırır: 5
}Zincirin herhangi bir bölümü null ise, ifadenin tamamı hata vermeden güvenli bir şekilde null döndürür.
Görev
KolaySize aşağıdaki boş değer alabilir değişken verilmiştir:
val message: String? = "Kotlin"Güvenli çağrı operatörünü kullanarak:
messagedeğişkeninin uzunluğunu alın ve yazdırınmessagedeğişkenini büyük harfe dönüştürün ve sonucu yazdırın
Ardından, boş değer alabilir başka bir değişken oluşturun:
val empty: String? = nullempty değişkeninin uzunluğunu almak ve yazdırmak için güvenli çağrı operatörünü kullanın.
Her sonuç ayrı bir satıra yazdırılmalıdır. Unutmayın: güvenli çağrı operatörü, değer
nullolduğundanulldöndürür.
Kendin dene
fun main() {
val message: String? = "Kotlin"
// TODO: message değişkeninin uzunluğunu almak ve yazdırmak için güvenli çağrı operatörünü kullan
// TODO: message değişkenini büyük harfe dönüştürmek ve yazdırmak için güvenli çağrı operatörünü kullan
val empty: String? = null
// TODO: empty değişkeninin uzunluğunu almak ve yazdırmak için güvenli çağrı operatörünü kullan
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Kavramlar bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırımlı AtamaKarşılaştırma OperatörleriTekrar - Basit Matematik7Temel Girdi/Çıktı
Println FonksiyonuDize ŞablonlarıReadLine GirdisiTür DönüşümüTekrar - Emekliliğe Kalan YıllarTekrar - Doğru veya Yanlış10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriAdlandırılmış ArgümanlarVarsayılan DeğerlerTek İfadeli FonksiyonlarTekrar - Sigma FonksiyonuTekrar - Doğrulama Fonksiyonu2Değişkenler
Val ve VarTür ÇıkarımıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3If İfadesiyle Üçlü OperatörTekrar - Basit Mantık8Hesap Paylaştırma Hesaplayıcısı
Hoş Geldiniz MesajıGirdi Alma3Null Olabilirliği
Null Güvenliği NedirNull Olabilir TürlerGüvenli Çağrı OperatörüElvis OperatörüFonksiyon Görevi TemelleriNull Değil DoğrulamasıÖzet - Güvenli Erişim6Karar Verme
If İfadesiIf - Elseİfade Olarak IfWhen İfadesiAralıklarla WhenTekrar - Basit Hesap Makinesi9Döngüler
For DöngüsüWhile DöngüsüDo-While DöngüsüBreakContinueDöngülerde Aralıklarİç İçe DöngüTekrar - FaktöriyelTekrar - Dinamik GirdiKendi başına pratik yap: Kotlin playground