Czym jest bezpieczeństwo null
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 12 z 93.
W wielu językach programowania jednym z najczęstszych błędów jest próba uzyskania dostępu do czegoś, co nie istnieje: wartości null. Dzieje się tak, gdy zmienna przechowuje „nic” zamiast rzeczywistych danych.
Wyobraź sobie, że prosisz o imię użytkownika, ale on go nie podał. Jeśli Twój kod spróbuje użyć pustego imienia bez wcześniejszego sprawdzenia, program ulegnie awarii. Ten rodzaj błędu jest tak powszechny, że nazwano go „błędem wartym miliard dolarów”.
Rozwiązanie Kotlina: bezpieczeństwo obsługi wartości null
Kotlin został zaprojektowany, aby wyeliminować te awarie. Domyślnie zmienne w Kotlinie nie mogą przechowywać wartości null:
fun main() {
var name: String = "Alice"
name = null // Błąd! Kod się nie skompiluje
}Kompilator wykrywa ten problem, zanim Twój kod w ogóle zostanie uruchomiony. Dzięki temu Kotlin jest „bezpieczny względem null”: sam język uniemożliwia przypadkowe użycie null tam, gdzie nie powinno się go używać.
W kolejnych lekcjach dowiesz się, jak Kotlin pozwala pracować z wartościami, które mogą być null, gdy ich potrzebujesz, a jednocześnie chronić kod przed awariami.
Wyzwanie
ŁatwyZadeklaruj dwie zmienne, które nie mogą przyjmować wartości null, aby zademonstrować bezpieczeństwo obsługi wartości null w Kotlinie:
- Zmienną typu
Stringo nazwieusernamei wartości"Kotlin" - Zmienną typu
Into nazwiescorei wartości100
Następnie wypisz obie wartości w osobnych wierszach za pomocą println().
Pamiętaj: w Kotlinie zwykłe typy (które nie mogą przyjmować wartości null) nie mogą przechowywać wartości
null. Kompilator dba o to, aby Twoje zmienne zawsze zawierały prawidłowe dane.
Spróbuj swoich sił
fun main() {
// TODO: Napisz swój kod poniżej
// Zadeklaruj zmienną typu String, która nie może mieć wartości null, o nazwie 'username' i wartości "Kotlin"
// Zadeklaruj zmienną typu Int, która nie może mieć wartości null, o nazwie 'score' i wartości 100
// Wypisz obie wartości w osobnych wierszach za pomocą println()
}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