Menu
Coddy logo textTech

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? = nil

W 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) // nil

Zauważ, ż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.

challenge icon

Wyzwanie

Łatwy

Napisz 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()"
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Swift