Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Rust je statično tipiziran sodoben programski jezik, zasnovan za zmogljivost, zanesljivost in varnost. Kot v drugih statično tipiziranih jezikih, tipe podatkov Rust deklarirate med prevajanjem. To olajša odkrivanje tipskih napak, preden zaženete kodo.

Rust ponuja skalarne, sestavljene, referenčne tipe, strukture, enume in nize. Njegov tipski sklep zagotavlja funkcionalnost za pisanje jedrnate kode, hkrati pa ohranja varnost statično tipiziranega jezika.

Cela števila v Rustu

Rust ponuja vrste celih števil s predznakom in brez predznaka, razvrščene glede na število bitov. Celoštevilski tipi s predznakom so i8, i16, i32, in i64 ki predstavljajo 8-bitna, 16-bitna, 32-bitna in 64-bitna cela števila s predznakom. Podpira tudi vrste celih števil brez predznaka u8, u16, u32, in u64, ki predstavljajo 8-bitna, 16-bitna, 32-bitna in 64-bitna nepredznačena cela števila.

instagram viewer
// cela števila s predznakom
pustiti a: i8 = -10;
pustiti b: i16 = -2048;
pustiti c: i32 = -2147483648;
pustiti d: i64 = -9223372036854775808;

// cela števila brez predznaka
pustiti e: u8 = 255;
pustiti f: u16 = 65535;
pustiti g: u32 = 4294967295;
pustiti h: u64 = 18446744073709551615;

Rust uporablja i32 tip za cele literale privzeto.

Vrste plavajoče vejice Rust

Rust zagotavlja f32 in f64 kot vrste s plavajočo vejico, ki predstavljajo števila s plavajočo vejico z enojno in dvojno natančnostjo. The f32 tip uporablja 32 bitov za shranjevanje vrednosti, in f64 vrsta uporablja 64 bitov.

Številke s plavajočo vejico v Rustu sledijo standardu IEEE 754 za aritmetiko s plavajočo vejico.

pustiti a = 3.14159265358979323_f32;
pustiti b = 2.718281828459045235_f64;

Uporaba logičnih vrednosti Rust

Rust zagotavlja a bool tip za predstavljanje prav oz lažno vrednote. Logične vrednosti se pogosto uporabljajo v pogojnih in kontrolnih stavkih toka za sprejemanje programskih odločitev.

pustiti spremenljivka_1: bool = prav;
pustiti spremenljivka_2: bool = lažno;

Logične vrednosti lahko primerjate z operatorjem enakosti, ==in operator neenakosti, !=. Rust ne definira operatorjev primerjave, , <=, in >=, za bool vrednote.

pustiti spremenljivka_1: bool = prav;
pustiti spremenljivka_2: bool = lažno;

if spremenljivka_1 == spremenljivka_2 {
println!("spremenljivka_1 je enaka spremenljivki_2");
} drugačeče spremenljivka_1 != spremenljivka_2 {
println!("spremenljivka_1 ni enaka spremenljivki_2");
}

Vrsta Char

Rja char tip predstavlja eno samo skalarno vrednost Unicode, ki lahko predstavlja kateri koli znak v standard Unicode. Določite lahko a char vrednost z enojnimi narekovaji.

// Deklaracija vrednosti char
pustiti c = 'a';

The char vrsta je v pomoč pri delu z emodžiji v Rustu.

Tuples v Rustu

Podatkovna struktura tuple vam omogoča združevanje več kot ene vrednosti v eno sestavljeno vrednost. Te vrednosti so lahko iste vrste ali različnih vrst. Tuple lahko deklarirate tako, da jih napišete kot seznam vrednosti, ločenih z vejicami, obdanih z oklepaji.

Evo, kako lahko deklarirate tuple z 32-bitnimi celimi števili, nizi in vrednostmi float64.

pustiti tup: (i32, &str, f64) = (500, "Zdravo", 3.14);

Tuple imajo fiksno dolžino in jih lahko uporabite za vrnitev več vrednosti iz funkcije ali posredovanje več vrednosti funkcijam kot en argument.

Do posameznih elementov tule lahko dostopate tako, da jih destrukturirate z ujemanjem vzorcev ali neposredno dostopate do posameznih elementov s sintakso pike (.) in indeksom.

Tukaj je opisano, kako lahko dostopate do posameznih elementov strukture z uporabo ujemanja vzorcev:

pustiti moja_tupla = (10, "Pozdravljen, svet!", lažno);

pustiti (x, y, z) = moja_tuple;

println!("Prvi element je: {}", x);
println!("Drugi element je: {}", y);
println!("Tretji element je: {}", z);

Tukaj je opisano, kako lahko dostopate do posameznih elementov z zapisom s pikami:

pustiti moja_tupla = (10, "Pozdravljen, svet!", lažno);

println!("Theprvielementje: {}", moja_tuple.0);
println!("Thedrugoelementje: {}", moja_tuple.1);
println!("Thetretjielementje: {}", moja_tuple.2);

Tuple so zelo uporabne pri združevanju povezanih podatkov v eno samo vrednost. Prav tako lahko izboljšajo berljivost vaše kode, če jih uporabljate zmerno.

Nizi v Rustu

Niz je zbirka elementov istega tipa s fiksno dolžino. Nize Rust napišete kot seznam vrednosti v oglatih oklepajih, ločenih z vejicami.

Tukaj je opisano, kako lahko deklarirate nize v Rustu:

pustiti arr = [1, 2, 3, 4, 5];

Ne morete spremeniti števila elementov v matriki, ko jo deklarirate, lahko pa dostopate do posameznih elementov matrike, jih spreminjate in manipulirate z uporabo indeksiranja.

pustiti mut my_array = [1, 2, 3, 4, 5];

// Dostop do elementov
println!("Theprvielementje: {}", moja_matrika[0]);

// Spreminjanje elementov
moja_matrika[0] = 100;
println!("Theprvielementpospremembaje: {}", moja_matrika[0]);

// Zanka čez matriko in manipuliranje z elementi
zajazv 0..my_array.len() {
moja_matrika[i] *= 2;
}

// tiskanje matrike
println!("Matrika po manipulaciji: {:?}", moja_matrika);

Rust Arrays so shranjeno na skladu in imajo sosednjo dodelitev pomnilnika, tako da je dostop do elementov matrike hiter in učinkovit. Zaradi tega so nizi primerni za situacije, ko morate shraniti in obdelati veliko elementov.

Delo z rezinami rje

Rezina je podatkovna struktura, ki omogoča sklicevanje na sosednje zaporedje elementov v zbirki. Rezine predstavljajo &[T] tip, kjer je T tip elementov, shranjenih v rezini.

fn glavni(){
// deklariraj matriko
pustiti moja_matrika = [1, 2, 3, 4, 5];

// ustvari rezino iz matrike
pustiti moja_rezina = &moja_matrika[1..3];

// natisni rezino
println!("Rezina: {:?}", moja_rezina);
}

Opazite, kako sintaksa obsega, .., izvleče rezino iz matrike z uporabo začetnega indeksa in indeksa, ki je za eno večji od konca:

Rezine so dinamične, zato lahko Rust med izvajanjem določi njihovo dolžino. Rezine lahko tudi posredujete funkcijam kot argumente, ne da bi morali dodeliti kopico.

Rezine boste običajno uporabljali za operacije z nizi in za posredovanje podnaborov podatkov funkcijam. So zmogljivo in učinkovito orodje za upravljanje zbirk v Rustu, ki zagotavljajo bolj prilagodljivo alternativo nizom.

V Rustu lahko sestavite sprednje spletne aplikacije, ki jih poganja WebAssembly

Poznavanje tipov podatkov je ključnega pomena za vaše potovanje v Rust, saj jih boste uporabili za večino operacij med gradnjo aplikacij.

WebAssembly je nizkonivojski binarni format, ki deluje v sodobnih spletnih brskalnikih, s skoraj izvirno zmogljivostjo. Omogoča pisanje kode v številnih različnih jezikih in njeno prevajanje v WebAssembly.

WebAssembly se vse bolj uveljavlja prek Rusta. Obstaja veliko ogrodij, kot so Yew, Sycamore in Seed, ki jih lahko uporabite za izdelavo vmesnikov, ki jih poganja WebAssembly, z Rust.