Czym są typy opcjonalne
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 11 z 86.
Czasami zmienna może w ogóle nie mieć wartości. W Swift reprezentujemy brak wartości za pomocą typów opcjonalnych. Typ opcjonalny oznacza „istnieje wartość i jest równa x” albo „w ogóle nie ma żadnej wartości”.
Aby zadeklarować wartość opcjonalną, dodaj znak zapytania ? po typie:
var nickname: String? = "Alex"
var age: Int? = nilW powyższym przykładzie nickname przechowuje wartość "Alex", a age ma wartość nil: to sposób, w jaki Swift mówi „brak wartości”. Zwykłe zmienne nie mogą mieć wartości nil, ale opcjonalne mogą.
Pomyśl o opcji jak o pudełku, które może coś zawierać albo być puste. Zanim użyjesz tego, co jest w środku, musisz sprawdzić, czy rzeczywiście coś tam jest. To kluczowa funkcja bezpieczeństwa w Swift, która pomaga zapobiegać awariom spowodowanym nieoczekiwanym brakiem wartości.
var score: Int? = 100
print(score) // Optional(100)
score = nil
print(score) // nilZauważ, że gdy wyświetlasz opcjonalną wartość, pojawia się Optional(100), a nie samo 100. Aby uzyskać dostęp do rzeczywistej wartości wewnątrz, musisz rozpakować wartość opcjonalną. Omówimy to w kolejnych lekcjach.
Wyzwanie
ŁatwyNapisz funkcję createOptional, która przyjmuje liczbę i zwraca ciąg znaków pokazujący, jak ta liczba wyglądałaby po wyświetleniu jako wartość opcjonalna.
Ważne: ta funkcja zwraca wartość typu String. Tworzysz tekst, który wygląda jak wartość opcjonalna, a nie zwracasz rzeczywistej wartości opcjonalnej.
Gdy wyświetlasz wartość opcjonalną zawierającą jakąś wartość, Swift pokazuje ją w formacie Optional(value).
Przypomnienie dotyczące składni funkcji: W Swift funkcja, która zwraca wartość, używa strzałki -> do określenia typu zwracanej wartości oraz słowa kluczowego return, aby zwrócić wynik. Na przykład:
func myFunction(param: Int) -> String {<br> return "result"<br>}
Możesz utworzyć zwracany ciąg znaków za pomocą interpolacji ciągu: "Optional(\(value))": część \(value) wstawia liczbę bezpośrednio do ciągu.
Parametry:
value(Int): Liczba, którą należy ująć w format wartości opcjonalnej
Zwraca: Ciąg znaków w formacie Optional(value), gdzie value to podana liczba.
Przykład: Jeśli dane wejściowe to 100, zwróć "Optional(100)"
Spróbuj swoich sił
func createOptional(value: Int) -> String {
// Zwróć String, który wygląda jak wartość opcjonalna, ale nią nie jest
// Wstaw liczbę między nawiasy, używając interpolacji ciągu znaków
return "Optional()"
}
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łożonePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
Funkcja printInterpolacja ciągów znakówWejście ReadLineKonwersja typówPowtórka – do 120Powtórka – prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneEtykiety argumentówPowtórka – funkcja SigmaPowtórka – funkcja walidującaWartości domyślne2Zmienne
let vs varAdnotacje typówLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPodsumowanie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – prosta logikaOperatory logiczne, część 3Operator trójargumentowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych wejściowych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Typy opcjonalne
Czym są typy opcjonalneRozpakowywanie za pomocą if letGuard letOperator nil-coalescingPodsumowanie — bezpieczne rozpakowywanie6Podejmowanie decyzji
Instrukcja ifIf - ElsePowtórka – prosty kalkulatorInstrukcja switchSwitch z zakresami9Pętle
Pętla for-inPętla whilePętla repeat-whileInstrukcja breakInstrukcja continuePowtórzenie – silniaZakresy w pętlachPętla zagnieżdżonaPowtórzenie – dynamiczne dane wejściowePoćwicz samodzielnie: Edytor online Swift