Typy dopuszczające null
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 13 z 93.
Czasami naprawdę potrzebujesz zmiennej, która może przechowywać „nic”. Na przykład drugie imię użytkownika może nie istnieć lub wyszukiwanie może nie zwrócić żadnych wyników. Kotlin umożliwia to za pomocą typów dopuszczających wartość null.
Aby typ mógł przyjmować wartość null, dodaj ? po nazwie typu:
fun main() {
var middleName: String? = "Marie"
middleName = null // Teraz jest to dozwolone!
val age: Int? = null // Może przechowywać wartość typu Int lub null
}? mówi Kotlinowi: „Ta zmienna może mieć wartość null, więc obchodź się z nią ostrożnie”. Bez ? typ nie dopuszcza wartości null i nigdy nie może jej przechowywać.
Ważne: Typy dopuszczające wartość null i niedopuszczające wartości null różnią się. Nie możesz bezpośrednio przypisać wartości dopuszczającej wartość null do zmiennej, która jej nie dopuszcza:
fun main() {
val nullableName: String? = "Alice"
val regularName: String = nullableName // Błąd!
}To rozróżnienie jest celowe. Wymusza obsłużenie możliwości wystąpienia wartości null przed użyciem tej wartości. W kolejnych lekcjach poznasz bezpieczne sposoby, jakie Kotlin udostępnia do pracy z wartościami dopuszczającymi null.
Wyzwanie
ŁatwyZadeklaruj następujące zmienne dopuszczające wartość null:
- Zmienna
Stringdopuszczająca wartość null o nazwienicknamez wartością"Shadow" - Zmienna
Intdopuszczająca wartość null o nazwieagez wartościąnull - Zmienna
Doubledopuszczająca wartość null o nazwiebalancez wartością99.5
Następnie wypisz wszystkie trzy wartości w osobnych wierszach za pomocą println().
Pamiętaj, aby umieścić
?po nazwie typu, aby umożliwić wartość null. Wypisanie wartościnullwyświetli słowonull.
Spróbuj swoich sił
fun main() {
// TODO: Zadeklaruj następujące zmienne dopuszczające wartość null:
// 1. Zmienna typu String dopuszczająca wartość null, o nazwie 'nickname' i wartości "Shadow"
// 2. Zmienna typu Int dopuszczająca wartość null, o nazwie 'age' i wartości null
// 3. Zmienna typu Double dopuszczająca wartość null, o nazwie 'balance' i wartości 99.5
// Następnie wypisz wszystkie trzy wartości w osobnych wierszach
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory – część 1
Operatory arytmetyczneOperator moduloPrzypisanie z operatoremOperatory porównaniaPowtórka – proste działania matematyczne7Podstawowe wejście/wyjście
Funkcja printlnSzablony ciągów znakówWczytywanie danych przez ReadLineKonwersja typówPowtórka — lata do emeryturyPowtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneArgumenty nazwaneWartości domyślneFunkcje z pojedynczym wyrażeniemPowtórka – funkcja SigmaPowtórka – funkcja walidująca2Zmienne
Val a VarWnioskowanie o typieLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPowtórzenie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Operatory logiczne, część 3Operator trójargumentowy z wyrażeniem ifPowtórka — prosta logika8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Obsługa wartości null
Czym jest bezpieczeństwo nullTypy dopuszczające nullOperator bezpiecznego wywołaniaOperator ElvisPodstawy wyzwania z funkcjamiAsercja wartości niebędącej nullPodsumowanie — bezpieczny dostęp6Podejmowanie decyzji
Instrukcja ifIf - elseIf jako wyrażenieWyrażenie whenWhen z zakresamiPowtórka — prosty kalkulator9Pętle
Pętla forPętla whilePętla do-whileBreakContinueZakresy w pętlachPętla zagnieżdżonaPowtórka – silniaPowtórka – dynamiczne wprowadzanie danychPoćwicz samodzielnie: Edytor online Kotlin