Rust pradedančiųjų vadovas: nuo žaidimų iki programavimo, greitai susipažinkite su Rust ekosistema
Rust pradedančiųjų vadovas: nuo žaidimų iki programavimo, greitai susipažinkite su Rust ekosistema\n\nRust sparčiai vystosi, tai ne tik programavimo kalba, bet ir gyvybinga ekosistema. Nuo išgyvenimo žaidimų iki didelio našumo sistemų programavimo, Rust yra visur. Šis straipsnis, remdamasis diskusijomis X/Twitter, pateiks greitą Rust pradedančiųjų vadovą, apimantį Rust taikymo sritis, mokymosi išteklius ir keletą naudingų įrankių.\n\n## I. Kas yra Rust? Kodėl verta mokytis?\n\nRust yra sistemų programavimo kalba, orientuota į saugumą, greitį ir lygiagretumą. Ji skirta išspręsti dažnas atminties saugos problemas C ir C++, tuo pačiu užtikrinant panašų ar net didesnį našumą nei šios kalbos.\n\nRust pranašumai:\n\n* Atminties sauga: Rust nuosavybės sistema ir skolinimosi tikrintuvas gali užkirsti kelią tuščios rodyklės, duomenų lenktynių ir kitoms problemoms kompiliavimo metu.\n* Didelis našumas: Rust kompiliuojama į efektyvų mašininį kodą ir turi galingas nulinės kainos abstrakcijos galimybes.\n* Lygiagretus saugumas: Rust tipų sistema gali užtikrinti lygiagretaus kodo saugumą, išvengiant duomenų lenktynių.\n* Kelių platformų palaikymas: Rust palaiko įvairias operacines sistemas ir architektūras, įskaitant Windows, Linux, macOS, WebAssembly ir kt.\n* Aktyvi bendruomenė: Rust turi gyvybingą bendruomenę, kuri siūlo gausybę bibliotekų, įrankių ir palaikymo.\n\nRust taikymo sritys:\n\n* Operacinės sistemos ir įterptosios sistemos: Dėl didelio našumo ir saugumo Rust puikiai tinka kurti operacinių sistemų branduolius, tvarkykles ir įterptosios įrangos programinę įrangą.\n* WebAssembly (Wasm): Rust gali būti kompiliuojama į Wasm, kad naršyklėje būtų galima paleisti didelio našumo kodą.\n* Komandinės eilutės įrankiai: Rust siūlo galingus komandinės eilutės įrankių kūrimo karkasus, tokius kaip clap ir structopt.\n* Tinklo programavimas: Rust tokio biblioteka suteikia asinchroninę vykdymo aplinką, todėl lengviau rašyti didelio našumo tinklo programas.\n* Žaidimų kūrimas: Nors ir ne taip populiari kaip C++, Rust įgauna pagreitį žaidimų kūrimo srityje, pavyzdžiui, atvirojo kodo išgyvenimo žaidimas Rust pats sukurtas naudojant Unity variklį ir C#, tačiau serverio dalies logikai optimizuoti galima naudoti Rust.\n\n## II. Nuo žaidimo Rust iki Rust programavimo kalbos\n\nX/Twitter diskusijose buvo paminėtas išgyvenimo žaidimas Rust, kuris yra glaudžiai susijęs su Rust programavimo kalba. Nors jie naudoja tą patį pavadinimą, tai yra skirtingi dalykai. Rust žaidimas yra kelių žaidėjų internetinis išgyvenimo žaidimas, o Rust yra programavimo kalba, naudojama įvairiai programinei įrangai kurti.\n\nŽaidimas Rust:\n\n* Yra kelių žaidėjų internetinis išgyvenimo žaidimas, kuriame žaidėjai turi išgyventi dykumoje, statyti bazes ir bendrauti su kitais žaidėjais.\n* Sukurtas naudojant Unity variklį ir C#.\n* Galima įsigyti Steam platformoje ir dažnai vyksta akcijos.\n\nRust programavimo kalba:\n\n* Naudojama įvairiai programinei įrangai kurti, įskaitant operacines sistemas, naršyklių variklius, tinklo serverius, žaidimus ir kt.\n* Atvirojo kodo ir kelių platformų.\n* Turi galingą tipų sistemą ir atminties saugos funkcijas.\n\nJei esate Rust žaidimo žaidėjas ir norite išmokti Rust programavimo kalbos, galite apsvarstyti šiuos veiksmus:\n\n1. Įdiekite Rust įrankių grandinę: Atsisiųskite ir įdiekite rustup, tai yra Rust versijų valdymo įrankis.
- Išmokite Rust pagrindus: Perskaitykite oficialų vadovą ## III. „Rust“ kūrimo aplinkos nustatymas
„Rust“ kūrimo aplinkos nustatymas yra labai paprastas, tereikia įdiegti rustup. rustup automatiškai įdiegs „Rust“ kompiliatorių, standartinę biblioteką ir kitus būtinus įrankius.
Žingsniai:
- Atsisiųskite
rustup: Apsilankykite ir atsisiųskite atitinkamąrustupdiegimo programą pagal savo operacinę sistemą. - Paleiskite diegimo programą: Vykdykite diegimo programos nurodymus.
- Konfigūruokite aplinkos kintamuosius:
rustupautomatiškai sukonfigūruos aplinkos kintamuosius, bet galite juos sukonfigūruoti ir rankiniu būdu. - Patikrinkite diegimą: Atidarykite terminalą ir paleiskite
rustc --versionircargo --version. Jei teisingai rodomi versijos numeriai, tai reiškia, kad diegimas buvo sėkmingas.
Kodo pavyzdys:
rustc --version # Patikrinkite „Rust“ kompiliatoriaus versiją
cargo --version # Patikrinkite „Cargo“ paketų tvarkyklės versiją
IV. Greitas „Rust“ pagrindų sintaksės įvadas
Štai keletas „Rust“ pagrindų sintaksės elementų, kurie padės greitai pradėti:
-
Kintamųjų deklaravimas:
let x = 5; // Nekintamas kintamasis let mut y = 10; // Kintamas kintamasis const PI: f64 = 3.1415926; // Konstanta -
Duomenų tipai:
-
Sveikieji skaičiai:
i8,i16,i32,i64,i128,u8,u16,u32,u64,u128,isize,usize -
Slankaus kablelio skaičiai:
f32,f64 -
Loginis tipas:
bool(true,false) -
Simbolių tipas:
char(Unicode simbolis) -
Eilutės:
String,&str -
Tuple:
(i32, f64, char) -
Masyvas:
[i32; 5] -
Gabalas:
&[i32] -
Struktūra:
struct Point { x: i32, y: i32, } -
Enum:
enum Color { Red, Green, Blue, }
-
-
Funkcijos:
fn add(x: i32, y: i32) -> i32 { x + y } -
Valdymo srautas:
-
ifsakinys:if x > 5 { println!("x is greater than 5"); } else if x == 5 { println!("x is equal to 5"); } else { println!("x is less than 5"); } -
loopciklas:loop { println!("This will loop forever"); break; // Išeiti iš ciklo } ```## I. Įvadas
-
Šiame straipsnyje pateikiamas išsamus Rust programavimo kalbos įvadas, apimantis pagrindinę sintaksę, dažniausiai naudojamus įrankius ir mokymosi išteklius, taip pat gaires tolesniam mokymuisi. Šis straipsnis skirtas pradedantiesiems, norintiems išmokti Rust, ir patyrusiems programuotojams, norintiems greitai perprasti Rust pagrindus.
II. Pagrindinė sintaksė
-
Kintamieji:
let: naudojamas nekintamiems kintamiesiems apibrėžti (panašus įconstJavaScripte).let mut: naudojamas kintamiems kintamiesiems apibrėžti.
fn main() { let x = 5; // x yra nekintamas let mut y = 10; // y yra kintamas y = 20; // Leidžiama, nes y yra kintamas println!("y reikšmė yra: {}", y); } -
Duomenų tipai:
i32: 32 bitų sveikasis skaičius.f64: 64 bitų slankaus kablelio skaičius.bool: Bulio reikšmė (true arba false).String: Eilutė.
fn main() { let a: i32 = 10; let b: f64 = 3.14; let c: bool = true; let d: String = String::from("Sveiki, pasauli!"); println!("a = {}, b = {}, c = {}, d = {}", a, b, c, d); } -
Funkcijos:
- Naudokite
fnraktinį žodį funkcijoms apibrėžti. - Parametrų tipai turi būti aiškiai nurodyti.
- Grąžinimo tipas nurodomas naudojant
->.
fn add(x: i32, y: i32) -> i32 { x + y // Nereikia `return` raktinio žodžio, paskutinė išraiška yra grąžinama reikšmė } fn main() { let result = add(5, 3); println!("5 + 3 = {}", result); } - Naudokite
-
Valdymo srautas:
-
if/elsesąlygos:fn main() { let number = 7; if number < 5 { println!("sąlyga buvo true"); } else { println!("sąlyga buvo false"); } } -
loopciklas:fn main() { let mut count = 0; loop { count += 1; if count > 5 { break; // Išeiti iš ciklo } println!("count = {}", count); } } -
whileciklas:let mut i = 0; while i file, Err(error) => match error.kind() { ErrorKind::NotFound => match File::create("hello.txt") { Ok(fc) => fc, Err(e) => panic!("Problem creating the file: {:?}", e), }, other_error => { panic!("Problem opening the file: {:?}", other_error) } }, };
}
-
V. Naudingi įrankiai ir mokymosi ištekliai
- Cargo: Rust paketų tvarkyklė ir kūrimo įrankis, naudojamas priklausomybėms valdyti, projektams kurti ir testams vykdyti.
- Rust Analyzer: Galingas Rust kalbos serveris, teikiantis kodo užbaigimą, sintaksės tikrinimą, refaktorizavimą ir kitas funkcijas. Rekomenduojama įdiegti atitinkamą papildinį VS Code.
- Clippy: Rust kodo statinės analizės įrankis, galintis patikrinti galimas kodo problemas ir pateikti patobulinimų pasiūlymus.
- crates.io: Rust paketų saugykla, panaši į npm (JavaScript) arba PyPI (Python).
- Oficiali dokumentacija: Apima visą Rust kalbos dokumentaciją.
- Rust by Example: Pateikia daugybę Rust kodo pavyzdžių.
- The Rust Programming Language (The Book): Oficialus Rust vadovėlis, primygtinai rekomenduojamas skaityti.
- Rustlings: Interaktyvus Rust mokymosi įrankis, skirtas mokytis Rust sprendžiant pratimų seriją.
- Internetiniai kursai: Udemy, Coursera ir kitose platformose yra daug Rust internetinių kursų.
VI. Išplėstinės mokymosi kryptys
- Asinchroninis programavimas (async/await): Naudokite
tokioarbaasync-stddidelio našumo lygiagrečioms programoms rašyti. - WebAssembly (Wasm): Kompiliuokite Rust kodą į Wasm, kad jis veiktų naršyklėje.
- Įterptinių sistemų kūrimas: Naudokite Rust įterptinių sistemų programinei įrangai kurti.
- Blokų grandinės kūrimas: Naudokite Rust blokų grandinės programoms kurti, pvz., Solana išmaniesiems kontraktams kurti.





