0Pricing
Zig Academy · Lekcja

Funkcje pub i widoczność

Udostępniaj funkcje między plikami.

Funkcje pub i widoczność to bezpłatna lekcja Zig Academy na CoddyKit. To lekcja 3 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.

Pliki są modułami

W Zig każdy źródłowy plik jest osobnym modułem. To, co udostępnia on innym plikom, określają reguły widoczności. 📦

Domyślnie prywatne

Zwykła funkcja jest prywatna dla swojego pliku. Inne pliki nie mogą jej wywoływać, dzięki czemu wewnętrzne funkcje pomocnicze pozostają bezpiecznie ukryte.

fn helper() void {
    // only this file can call me
}

pub nadaje publiczną widoczność

Dodaj słowo kluczowe pub, aby udostępnić funkcję i umożliwić innym plikom importowanie jej oraz wywoływanie w całym projekcie.

pub fn greet() void {
    std.debug.print("Hi!\n", .{});
}

Import wczytuje moduł

Inny plik używa @import, aby wczytać moduł, a następnie uzyskuje dostęp do publicznych nazw za pośrednictwem zwróconej wartości.

const utils = @import("utils.zig");
utils.greet();

Dostępne są tylko nazwy pub

Przez ten import można wywoływać tylko publiczne nazwy. Prywatne funkcje pozostają niewidoczne, więc nie można ich użyć w niewłaściwy sposób.

Dlaczego main wymaga pub

Dlatego main zapisuje się jako pub: środowisko uruchomieniowe znajduje się poza plikiem i musi mieć dostęp do punktu wejścia.

pub działa nie tylko z fn

Słowo kluczowe pub udostępnia również stałe, typy i zmienne, pozwalając utworzyć przejrzysty publiczny interfejs modułu.

pub const version = "1.0.0";

Zaprojektuj małe API

Oznacz jako publiczne tylko to, czego rzeczywiście potrzebują użytkownicy modułu. Prywatne funkcje pomocnicze zapewniają mały, stabilny interfejs, który łatwo utrzymywać.

Hermetyzacja ogranicza liczbę błędów

Ukrywanie szczegółów wewnętrznych to hermetyzacja. Dzięki mniejszej liczbie udostępnionych elementów można zmieniać szczegóły implementacji bez psucia innych plików.

Nagłówki nie są potrzebne

W przeciwieństwie do C Zig nie potrzebuje plików nagłówkowych. Import pliku udostępnia bezpośrednio jego publiczne deklaracje, bez powielania kodu.

Widoczność jest sprawdzana podczas kompilacji

Zig wymusza widoczność podczas kompilacji. Wywołanie prywatnej funkcji spoza jej pliku po prostu kończy się błędem kompilacji.

Szybkie sprawdzenie

Napisano funkcję w pliku math.zig, ale inny plik nie może jej wywołać. Czego najprawdopodobniej brakuje?

Podsumowanie

Funkcje są prywatne dla swoich plików, dopóki nie dodasz pub. Udostępniaj tylko to, czego potrzebują użytkownicy, importuj za pomocą @import i całkowicie pomijaj pliki nagłówkowe. 🎯

Często zadawane pytania

Czy lekcja „Funkcje pub i widoczność” jest bezpłatna?

Tak — pełny tekst „Funkcje pub i widoczność” 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 „Funkcje pub i widoczność”?

Udostępniaj funkcje między plikami. Ć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 3 z 4.

Ile czasu zajmuje lekcja „Funkcje pub i widoczność”?

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. Składnia funkcji i typy zwracane
  2. Przekazywanie wartości a referencji
  3. Funkcje pub i widoczność
  4. Rekurencja i wielokrotne wartości zwracane
← Powrót do Zig Academy