Uistite sa, že sú vaše projekty Rust dobre organizované, aby sa v priebehu času ľahšie udržiavali.

Hrdza je vynikajúcou voľbou pre vytváranie zložitých a spoľahlivých aplikácií. Jednou zo základných zručností pre vývoj aplikácií Rust je efektívne štruktúrovanie vašich projektov vrátane začlenenia balíkov tretích strán.

Efektívna organizácia projektu je rozhodujúca pre vývoj aplikácií Rust. Dobre štruktúrované aplikácie Rust zlepšujú spoluprácu a jednoduchú integráciu aplikácií tretích strán, čím výrazne znižujú čas a úsilie potrebné na vývoj aplikácií. Rust poskytuje vstavaného správcu balíkov a ďalšie nástroje na efektívnu organizáciu a správu kódu.

Nastavenie projektov Rust

Nastavenie projektov Rust je jednoduché po nainštalovaní Rust na váš počítač; môžete použiť Cargo (vstavaný správca balíkov a zostavovací systém spoločnosti Rust) na vytvorenie a konfiguráciu projektu Rust. Je to podobné ako u iných správcov balíkov npm pre Node.js a pip pre Python. Cargo spravuje závislosti, kompiluje kód a generuje dokumentáciu, vďaka čomu je základným nástrojom pre vývoj Rust.

instagram viewer

Spustite tento príkaz na overenie inštalácie nákladu:

nákladná verzia

Príkaz zobrazí nainštalovanú verziu nákladu.

Môžete vytvoriť nový projekt Rust pomocou náklad nový príkaz. Budete musieť zadať názov projektu.

náklad nový môj_projekt

Príkaz vytvorí nový adresár v aktuálnom adresári, ktorý obsahuje základné súbory, ktoré potrebujete pre svoj projekt Rust, vrátane a cargo.toml súbor na správu závislostí vášho projektu.

Menný priestor balíka Rust

Balíky a prepravky sú základnými komponentmi v Rust. Prepravky sú knižnice alebo binárne súbory, ktoré môžu vývojári Rustu použiť a skompilovať na určité špecifické použitie, a balíčky sú kolekciou prepraviek. Balíky zvyčajne obsahujú prepravku, ktorá obsahuje opakovane použiteľný kód a binárny súbor, ktorý poskytuje CLI pre prepravku knižnice.

Prepravky musia obsahovať Cargo.toml súbor obsahujúci metadáta o balíku, ako je jeho názov, verzia, závislosti a zostavovacie skripty.

Balíky Rust dodržiavajú konvenciu pomenovania, aby sa predišlo konfliktom medzi balíkmi. Názvy balíkov musia byť globálne jedinečné, malé a obsahovať iba písmená, číslice a spojovníky. Ak názov balíka obsahuje viacero slov, oddeľte ich pomlčkami, napr. hyper-server.

Ku kódu v rámci menného priestoru balíka Rust môžete pristupovať pomocou použitie kľúčové slovo, za ktorým nasledujú názvy balíkov a prepraviek.

Tu je príklad importu súboru Rng funkcia od a rand prepravka:

použitie rand:: Rng;

Pre balíky môžete vytvoriť viacero menných priestorov. Keď vytvoríte priečinok, vytvoríte nový priestor názvov, ku ktorému môžete pristupovať pomocou bodkovej notácie na určenie cesty k identifikátoru.

V Ruste môže byť pre balíky viacero menných priestorov. Keď vytvoríte priečinok, vytvoríte nový priestor názvov. Ak chcete získať prístup ku kódu z iného priestoru názvov, použite bodkový zápis na zadanie cesty k identifikátoru.

Tu je príklad prístupu k funkcii z iného menného priestoru:

// súbor v mennom priestore folder1
krčmafnpriečinok() -> u32 {
// tu je nejaké telo funkcie
vrátiť0;
}

// súbor v mennom priestore folder2
použitie priečinok1::priečinok;

krčmafnadresár() {
// prístup k funkcii zložky z menného priestoru folder1
nech folder_func = folder();
}

Program definuje dva moduly Rust v rôznych menných priestoroch, priečinok1 a priečinok2 resp. The priečinok1 modul obsahuje verejnú funkciu priečinok ktorý vráti 32-bitovú hodnotu celého čísla bez znamienka.

The priečinok2 modul importuje priečinok funkcia z priečinok1 menný priestor s použitie kľúčové slovo, ktoré umožňuje adresár funkcia na prístup k priečinok funkcia z priečinok1 modul. The adresár funkcia volá priečinok a návratová hodnota je priradená k folder_func premenlivý.

Ak chcete exportovať identifikátory z balíka alebo prepravky, musíte ich napísať veľkými písmenami. Keď exportujete identifikátor, sprístupníte ho v iných balíkoch, ktoré používajú kód.

Tu je príklad verejnej funkcie, ktorú je možné exportovať.

// funkcia exportovaná do iných balíkov a prepraviek
krčmafnMyFunction() {
// tu je nejaké telo funkcie
}

Budete tiež musieť použiť krčma kľúčové slovo. V Rust, krčma kľúčové slovo je skratka pre verejnosti. Keď funkcia, štruktúra, enum, akýkoľvek typ údajov Rust alebo modul je označený kľúčovým slovom pub, stane sa prístupným mimo jeho modulu. Položka je súkromná vo svojom module bez kľúčového slova pub a je prístupná iba z nej.

Definovanie modulov na riadenie rozsahu a súkromia

Moduly môžete použiť na ovládanie rozsahu a súkromia v programoch Rust. Moduly vám umožňujú organizovať kód do logických jednotiek, ktoré sa ľahšie spravujú a udržiavajú.

Moduly môžete deklarovať pomocou mod kľúčové slovo, za ktorým nasleduje názov modulu a zložené zátvorky. Definovaním nového modulu sa vytvorí nový menný priestor pre jeho obsah, to znamená, že funkcie, štruktúry, príp ostatné položky definované v module sú prístupné iba v rámci modulu okrem toho, že ich explicitne exportujete ich.

Moduly pomáhajú predchádzať konfliktom názvov, vďaka čomu je kód intuitívnejší na pochopenie.

Tu je syntax jednoduchého modulu:

mod môj_modul {
// obsah modulu prejdite sem
}

V rámci modulu môžete definovať premenné, funkcie, štruktúry, enumy a ďalšie typy.

mod môj_modul {
fnpridať_čísla(a: i32, b: i32) -> i32 {
a + b
}
}

Môžete použiť krčma kľúčové slovo na export funkcie a prístup k funkcii v iných častiach programu.

mod môj_modul {
krčmafnpridať_čísla(a: i32, b: i32) -> i32 {
a + b
}
}

Teraz môžete zavolať na pridať_čísla funkcie z iných častí vášho programu.

Súkromie modulov môžete ovládať aj pomocou krčma kľúčové slovo v definíciách modulov.

krčmamod môj_modul {
krčmafnpridať_čísla(a: i32, b: i32) -> i32 {
a + b
}
}

Teraz, môj_modul modul je verejný a môžete k nemu pristupovať z iných modulov.

Ak potrebujete sprístupniť modul alebo položku pre konkrétny modul alebo skupinu modulov, môžete použiť krčma (debna) kľúčové slovo. The krčma (debna) Kľúčové slovo sprístupňuje položku z modulov v tej istej prepravke, ale nie z modulov v iných prepravkách.

mod môj_modul {
krčmaštrukturovaťMyStruct {
krčma(prepravka) niektoré_pole: u32,
}
}

Teraz máte prístup ku konkrétnej položke (v tomto prípade k nejaké_pole oblasti MyStruct struct) v iných častiach vášho programu.

fnHlavná() {
nech my_struct = my_module:: MyStruct { some_field: 42 };
println!("{}", my_struct.some_field);
}

The my_struct premenná je inštanciou premennej MyStruct štrukturovať. Premenná pristupuje k štruktúre pomocou oddeľovača cesty (::). The Hlavná funkcia vytlačí nejaké_pole pole štruktúry s println! makro.

Model vlastníctva Rust zaisťuje bezpečnosť pamäte

Usporiadanie kódu Rust je jedným zo spôsobov, ako zabezpečiť, aby sa váš kód v priebehu času ľahko udržiaval a podporoval. Je jednoduchšie riešiť chyby a zaistiť bezpečnosť v dobre organizovanom kóde, ktorý dodržiava pravidlá a konvencie komunity Rust.

V predvolenom nastavení Rust zaisťuje bezpečnosť programov v pamäti pomocou vstavaného modelu vlastníctva. Model vlastníctva zaisťuje bezpečnosť pamäte tým, že zaisťuje, že premenné v pamäti majú jedného jedinečného vlastníka. Model vlastníctva zabraňuje sledovaniu údajov a mnohým typom chýb pamäte.