Operator Elvis
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 15 z 93.
Operator bezpiecznego wywołania świetnie sprawdza się w unikaniu awarii, ale czasami potrzebujesz rzeczywistej wartości zamiast null. Operator Elvis ?: pozwala podać wartość domyślną, gdy wyrażenie ma wartość null.
Składnia jest prosta: umieść ?: po wyrażeniu, które może mieć wartość null, a następnie podaj wartość domyślną:
fun main() {
val name: String? = null
val displayName = name ?: "Guest"
println(displayName) // Wypisuje: Guest
}Jeśli lewa strona nie jest równa null, używana jest ta wartość. Jeśli jest równa null, wynikiem staje się prawa strona. Działa to doskonale z bezpiecznymi wywołaniami:
fun main() {
val text: String? = null
val length = text?.length ?: 0
println(length) // Wypisuje: 0
val greeting: String? = "Hello"
val greetingLength = greeting?.length ?: 0
println(greetingLength) // Wypisuje: 5
}Operator zawdzięcza swoją nazwę temu, że ?: z boku przypomina fryzurę Elvisa. Co ważniejsze, pozwala w przejrzysty sposób przekształcać typy dopuszczające wartość null na wartości niedopuszczające wartości null, używając sensownych wartości domyślnych.
Wyzwanie
ŁatwyPrzesyłka ma opcjonalną etykietę śledzenia i opcjonalne miejsce docelowe. Kod początkowy udostępnia obie wartości dopuszczające null. Użyj ?:, aby wybrać "Pending", gdy brakuje etykiety śledzenia, i "Unassigned", gdy brakuje miejsca docelowego. Wypisz wybraną etykietę, a następnie wybrane miejsce docelowe, w osobnych wierszach.
Spróbuj swoich sił
fun main() {
val trackingLabel: String? = null
val destination: String? = "Harbor"
// Wybierz i wypisz dwie wartości do wyświetlenia.
}
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