Deklarowanie struktur i pól
Grupuj powiązane dane w jednym typie.
Deklarowanie struktur i pól 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.
Grupowanie powiązanych danych
Pojedyncze, niezorganizowane zmienne szybko stają się trudne w utrzymaniu. struct pozwala połączyć powiązane wartości w jeden nazwany typ, który można przekazywać razem.
struct jest wyrażeniem
W Zig struct tworzy się za pomocą słowa kluczowego struct i bloku. Zwykle przypisuje się go do const, aby nadać typowi nazwę.
const Point = struct {};Dodawanie pól
W nawiasach klamrowych wypisuje się pola, każde z nazwą i typem. Opisują one dane przechowywane przez każdą wartość struktury.
const Point = struct {
x: i32,
y: i32,
};Pola kończą się przecinkiem
Każda deklaracja pola kończy się przecinkiem, nawet ostatnia. Zig jest tu rygorystyczny, dzięki czemu formater zachowuje spójny zapis.
const Color = struct {
r: u8,
g: u8,
b: u8,
};Tworzenie instancji
Aby utworzyć wartość, należy zapisać nazwę typu i inicjalizator .{}, ustawiając każde pole po nazwie.
const origin = Point{ .x = 0, .y = 0 };Kropka do odczytu pola
Do pola odwołuje się za pomocą kropki umieszczonej po wartości. Zatem origin.x odczytuje pole x tego punktu.
const px = origin.x;Modyfikowanie wymaga var
Aby zmienić pole, instancja musi być zadeklarowana jako var. Struktura zadeklarowana jako const oraz wszystkie jej pola pozostają niezmienne.
var p = Point{ .x = 1, .y = 2 };
p.x = 5;Pola mogą mieć dowolny typ
Pole może przechowywać wszystko: wartość bool, wycinek, a nawet inną struct. Struktury można dowolnie zagnieżdżać, aby modelować bardziej złożone dane.
const Line = struct {
start: Point,
end: Point,
};Kolejność pól
W zwykłej strukturze Zig może zmienić kolejność pól w pamięci, aby lepiej je upakować. Ponieważ pola są nazywane, układ pamięci nie wpływa na kod.
Struktury są typami wartościowymi
Przypisanie struktury lub przekazanie jej jako argumentu kopiuje ją przez wartość. Oryginał pozostaje niezmieniony, chyba że celowo użyje się wskaźnika.
var a = Point{ .x = 1, .y = 1 };
var b = a; // b is a copyTyp, nie zmienna
Definicja struktury opisuje typ, podobnie jak projekt. Instancje są rzeczywistymi wartościami tworzonymi na podstawie tego projektu.
Szybkie sprawdzenie
Jak utworzyć wartość na podstawie typu struct?
Podsumowanie
Poznał(a) Pan/Pani struct: słowo kluczowe struct grupuje nazwane pola w typ, a Type{ .field = value } tworzy instancję. 🧱
Często zadawane pytania
Czy lekcja „Deklarowanie struktur i pól” jest bezpłatna?
Tak — pełny tekst „Deklarowanie struktur i pól” 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 struktur i pól”?
Grupuj powiązane dane w jednym typie. Ć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 struktur i pól”?
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
- Deklarowanie struktur i pól
- Metody i parametr self
- Domyślne wartości pól
- Struktury anonimowe i krotki