0Pricing
Learn Rust Coding · Lekcja

Crate'y i główny moduł crate'a

Struktura projektu

Crate'y i główny moduł crate'a to bezpłatna lekcja Learn Rust Coding na CoddyKit. To lekcja 4 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 Learn Rust Coding, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn Rust Coding zawiera 4 lekcji w sumie.

Czym jest crate?

Crate to najmniejsza jednostka, na której pracuje kompilator Rust. Istnieją dwa rodzaje: binary crate, kompilowany do pliku wykonywalnego, oraz library crate, od którego zależy inny kod.

Binary crate a library crate

Binary crate zawiera funkcję main i tworzy program, który można uruchomić. Library crate nie ma funkcji main; udostępnia elementy wielokrotnego użytku innym crate.

  • Korzeń binary crate: src/main.rs
  • Korzeń library crate: src/lib.rs

Korzeń crate

Korzeń crate to plik źródłowy, od którego kompilator rozpoczyna pracę. Znajduje się na szczycie drzewa modułów, a słowo kluczowe crate w ścieżce odnosi się właśnie do niego.

fn main() {
    crate::greet();
}

fn greet() {
    println!("hello from the crate root");
}

Cargo i package

Package to jeden lub więcej crate zarządzanych przez Cargo i opisanych w Cargo.toml. Package zawiera najwyżej jeden library crate oraz dowolną liczbę binary crate.

Cargo obsługuje kompilowanie, testowanie i zależności.

Minimalny plik Cargo.toml

Manifest deklaruje nazwę package, wersję i zależności. Cargo odczytuje go, aby wiedzieć, jak zbudować projekt.

  • [package] — nazwa, wersja, edition
  • [dependencies] — zewnętrzne crate

Standardowy układ projektu

Cargo oczekuje konwencjonalnej struktury:

  • src/main.rs — korzeń binary crate
  • src/lib.rs — korzeń library crate
  • src/bin/ — dodatkowe pliki wykonywalne
  • tests/ — testy integracyjne

Przestrzeganie konwencji oznacza brak konieczności konfiguracji.

Moduły znajdują się pod korzeniem

Korzeń crate może deklarować moduły, które tworzą drzewo modułów. Wszystko, co Pan/Pani buduje, wyrasta z tego pojedynczego pliku korzeniowego.

mod utils {
    pub fn shout(s: &str) -> String {
        s.to_uppercase()
    }
}

fn main() {
    println!("{}", utils::shout("crate"));
}

Dzielenie kodu na pliki

Gdy korzeń deklaruje mod utils; ze średnikiem, Cargo wczytuje src/utils.rs. Zawartość pliku staje się treścią tego modułu, dzięki czemu wiele plików tworzy jedno drzewo.

Używanie biblioteki z binary crate

W package zawierającym zarówno lib.rs, jak i main.rs, binary crate odwołuje się do biblioteki za pomocą nazwy package. Biblioteka udostępnia elementy pub, z których korzysta binary crate.

Taki podział utrzymuje logikę w bibliotece, a punkt wejścia pozostawia niewielki.

Dodawanie zależności

Uruchom cargo add rand albo edytuj sekcję [dependencies] w Cargo.toml. Cargo pobiera crate z crates.io i udostępnia go do użycia przez use.

Cargo zapisuje także dokładne wersje w Cargo.lock, aby zapewnić powtarzalność kompilacji.

Szerszy obraz

Od najmniejszego do największego: module < crate < package. Moduły porządkują crate, korzeń crate stanowi podstawę drzewa, a package i Cargo łączą wszystko w całość.

Szybkie sprawdzenie

Sprawdź swoją znajomość struktury projektu.

Powtórzenie

Nauczył(a) się Pan/Pani struktury projektu:

  • Crate jest binary crate albo library crate
  • Korzeń crate (main.rs lub lib.rs) stanowi podstawę drzewa modułów
  • Package grupuje crate i jest opisany w Cargo.toml
  • Cargo zarządza układem, kompilowaniem i zależnościami

Często zadawane pytania

Czy lekcja „Crate'y i główny moduł crate'a” jest bezpłatna?

Tak — pełny tekst „Crate'y i główny moduł crate'a” 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 Learn Rust Coding, przejdź na CoddyKit PRO. Kurs Learn Rust Coding zawiera 4 lekcji w sumie.

Co nauczysz się w „Crate'y i główny moduł crate'a”?

Struktura projektu Ćwiczysz Learn Rust Coding 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ąć Learn Rust Coding?

Nie wymagamy żadnego doświadczenia. Learn Rust Coding 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 4 z 4.

Ile czasu zajmuje lekcja „Crate'y i główny moduł crate'a”?

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 Learn Rust Coding?

Tak. Każda lekcja Learn Rust Coding 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. Moduły i mod
  2. pub i widoczność
  3. use i ścieżki
  4. Crate'y i główny moduł crate'a
← Powrót do Learn Rust Coding