Null Değil Doğrulaması
Coddy'nin Kotlin Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 17 / 93.
Güvenli çağrı operatörü ve Elvis operatörü null değerlerini sorunsuz bir şekilde ele alır, ancak bazen kodunuzun belirli bir noktasında null olabilen bir değerin null olmadığından kesinlikle emin olursunuz. Null olmayan değer iddia operatörü !!, Kotlin'e şunu söylemenizi sağlar: "Bunun null olmadığını garanti ediyorum."
fun main() {
val name: String? = "Alice"
val length = name!!.length // String?'i String'e dönüştürür
println(length) // Yazdırır: 5
}!! işleci, null olabilir bir türü onun null olamaz karşılığına dönüştürür. Ancak değer gerçekten null ise programınız bir NullPointerException ile çöker:
fun main() {
val name: String? = null
val length = name!!.length // Burada çöküyor!
}Ne zaman kullanılmalı: !! işlecini yalnızca değerin null olamayacağını garanti eden bir mantığa sahip olduğunuz, ancak derleyicinin bunu doğrulayamadığı durumlarda kullanın. Çoğu durumda bunun yerine güvenli çağrıları ?. veya Elvis işlecini ?: tercih edin. Null olmayan savı, ilk tercihiniz değil son çareniz olmalıdır.
Görev
KolayBir getUppercaseLength fonksiyonu yazın. Bu fonksiyon bir text parametresi alır ve parametrenin büyük harfli hâlinin uzunluğunu döndürür.
Fonksiyon boş olmayan bir dize değeri alır, ancak parametre türü null olabilir (String?). Bunu null olamaz bir türe dönüştürmek için null olmayan onaylama operatörünü !! kullanın; ardından uppercase() yöntemini zincirleyin ve length değerini alın.
Parametreler:
text(String?): Bir değer içereceği garanti edilen, null olabilir bir dize
Döndürür: Metnin büyük harfli hâlinin uzunluğu (Int)
Not: Bu görev için girdi her zaman geçerli bir dize olacak, hiçbir zaman
nullolmayacaktır. Bu, değerin var olduğunu bildiğiniz ancak derleyicinin bunu doğrulayamadığı bir senaryoyu simüle eder.
Kendin dene
fun getUppercaseLength(text: String?): Int {
// Kodu buraya yaz
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Bilgiler 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