0Pricing
Zig Academy · Lekcja

Deklarowanie typów opcjonalnych

Dodaj ? aby dopuścić brak wartości.

Deklarowanie typów opcjonalnych to bezpłatna lekcja Zig Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Zig Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Zig Academy zawiera 4 lekcji w sumie.

Czasami nie ma żadnej wartości

W rzeczywistych programach pojawiają się sytuacje, gdy wartość po prostu nie istnieje: wyszukiwanie niczego nie znajduje albo pole jest puste. Zig bezpiecznie i celowo modeluje taki brak.

Typ opcjonalny

Typ opcjonalny może zawierać rzeczywistą wartość danego typu albo specjalną wartość null oznaczającą, że niczego tam nie ma.

Dodaj początkowy znak zapytania

Dowolny typ można uczynić opcjonalnym, zapisując przed nim ?. Zatem ?i32 to liczba całkowita, która może również mieć wartość null.

var age: ?i32 = null;

Wartość pasuje bez problemu

Typ opcjonalny bez problemu przechowuje również zwykłą wartość. Wartość 42 przypisuje się do ?i32 dokładnie tak samo jak do zwykłego i32.

var age: ?i32 = 42;

null oznacza pusty stan

Słowo kluczowe null to literał oznaczający brak wartości. Tylko typy opcjonalne mogą go przechowywać.

const missing: ?u8 = null;

Typy nieopcjonalne odrzucają null

Zwykły i32 nigdy nie może mieć wartości null. Kompilator na to nie pozwoli, dzięki czemu brak wartości pozostaje widoczny w typie, zamiast ukrywać się jako nieprawidłowa wartość.

var n: i32 = null; // error: expected i32

Uczyń opcjonalnym dowolny typ

Typy opcjonalne nie służą tylko do liczb. Można oznaczyć jako opcjonalne bool, strukturę, wycinek lub dowolny inny typ, dodając znak zapytania.

var found: ?bool = null;

Inferencja nadal działa

Po przypisaniu wartości opcjonalnej Zig wywnioskuje za Pana/Panią typ opcjonalny, więc nie zawsze trzeba zapisywać go ręcznie.

const score: ?u32 = 10;

Dlaczego nie użyć wartości specjalnej

W języku C brak wartości często udaje się za pomocą wartości takich jak -1 albo pusty wskaźnik. Zig zapewnia prawdziwy typ opcjonalny, dzięki czemu braku nie można pomylić z danymi.

Brak jest częścią typu

Ponieważ ? znajduje się bezpośrednio w typie, każdy czytający kod od razu widzi, że wartości może brakować i trzeba to obsłużyć.

Inicjalizacja wartością null

Często rozpoczyna się pracę z typem opcjonalnym ustawionym na null, a następnie uzupełnia go, gdy dostępna jest już wartość do zapisania.

var result: ?[]const u8 = null;

Szybkie sprawdzenie

Jak zadeklarować u32, którego może brakować?

Podsumowanie

Poznał(a) Pan/Pani typy opcjonalne: przed typem zapisuje się ?, aby dopuścić rzeczywistą wartość albo null. Brak wartości znajduje się teraz w typie — jest jawny i widoczny. ❓

Często zadawane pytania

Czy lekcja „Deklarowanie typów opcjonalnych” jest bezpłatna?

Tak — pełny tekst „Deklarowanie typów opcjonalnych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Zig Academy, przejdź na CoddyKit PRO. Kurs Zig Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Deklarowanie typów opcjonalnych”?

Dodaj ? aby dopuścić brak wartości. Ćwiczysz Zig Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Zig Academy?

Nie wymagamy żadnego doświadczenia. Zig Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Deklarowanie typów opcjonalnych”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Zig Academy?

Tak. Każda lekcja Zig Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Deklarowanie typów opcjonalnych
  2. Bezpieczne rozpakowywanie za pomocą if i orelse
  3. Opcjonalne wskaźniki i ?*T
  4. null a undefined
← Powrót do Zig Academy