Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Rust to nowoczesny język programowania o typie statycznym, zaprojektowany z myślą o wydajności, niezawodności i bezpieczeństwie. Podobnie jak w innych językach o typie statycznym, typy danych Rusta deklaruje się w czasie kompilacji. Ułatwia to wychwytywanie błędów typu przed uruchomieniem kodu.

Rust oferuje typy skalarne, złożone, referencyjne, struktury, wyliczenia i ciągi znaków. Jego wnioskowanie o typie zapewnia funkcjonalność do pisania zwięzłego kodu przy jednoczesnym zachowaniu bezpieczeństwa języka o typie statycznym.

Liczby całkowite w Rust

Rust udostępnia typy liczb całkowitych ze znakiem i bez znaku, sklasyfikowane na podstawie liczby bitów. Typy całkowite ze znakiem to i8, i16, i32, I i64 reprezentujących odpowiednio 8-bitowe, 16-bitowe, 32-bitowe i 64-bitowe liczby całkowite ze znakiem. Obsługuje również typy całkowite bez znaku

instagram viewer
u8, u16, u32, I u64, reprezentujący 8-bitowe, 16-bitowe, 32-bitowe i 64-bitowe liczby całkowite bez znaku.

// liczby całkowite ze znakiem
pozwalać a: i8 = -10;
pozwalać b: i16 = -2048;
pozwalać c: i32 = -2147483648;
pozwalać d: i64 = -9223372036854775808;

// liczby całkowite bez znaku
pozwalać e: u8 = 255;
pozwalać fa: u16 = 65535;
pozwalać g: u32 = 4294967295;
pozwalać h: u64 = 18446744073709551615;

Rdza używa i32 domyślnie wpisz literały całkowite.

Typy zmiennoprzecinkowe rdzy

Rdza zapewnia f32 I f64 jako typy zmiennoprzecinkowe reprezentujące liczby zmiennoprzecinkowe o pojedynczej precyzji i podwójnej precyzji. The f32 type używa 32 bitów do przechowywania wartości, a f64 type używa 64 bitów.

Liczby zmiennoprzecinkowe w Rust są zgodne ze standardem IEEE 754 dla arytmetyki zmiennoprzecinkowej.

pozwalać = 3.14159265358979323_f32;
pozwalać b = 2.718281828459045235_f64;

Używanie booleanów Rusta

Rdza zapewnia bool typ do reprezentowania PRAWDA Lub FAŁSZ wartości. Wartości logiczne są często używane w instrukcjach przepływu warunkowego i sterującego do podejmowania decyzji w programie.

pozwalać zmienna_1: bool = PRAWDA;
pozwalać zmienna_2: bool = FAŁSZ;

Możesz porównać wartości logiczne z operatorem równości, ==i operator nierówności, !=. Rust nie definiuje operatorów porównania, , <=, I >=, Do bool wartości.

pozwalać zmienna_1: bool = PRAWDA;
pozwalać zmienna_2: bool = FAŁSZ;

jeśli zmienna_1 == zmienna_2 {
println!(„zmienna_1 jest równa zmiennej_2”);
} w przeciwnym razieJeśli zmienna_1 != zmienna_2 {
println!(„zmienna_1 nie jest równa zmiennej_2”);
}

Typ znaku

Rdza zwęglać type reprezentuje pojedynczą wartość skalarną Unicode, która może reprezentować dowolny znak w standard Unicode. Możesz określić zwęglać wartość za pomocą pojedynczych cudzysłowów.

// Deklaracja wartości char
pozwalać do = 'A';

The zwęglać typ jest pomocny w pracy z emotikonami w Rust.

Krotki w rdzy

Struktura danych krotki umożliwia zgrupowanie więcej niż jednej wartości w jedną wartość złożoną. Te wartości mogą mieć ten sam typ lub różne typy. Krotki można zadeklarować, zapisując je jako listę wartości oddzielonych przecinkami w nawiasach.

Oto jak możesz zadeklarować krotkę z 32-bitowymi liczbami całkowitymi, łańcuchami i wartościami typu float64.

pozwalać tup: (i32, &str, f64) = (500, "Cześć", 3.14);

Krotki mają stałą długość i można ich używać do zwracania wielu wartości z funkcji lub przekazywania wielu wartości do funkcji jako pojedynczego argumentu.

Możesz uzyskać dostęp do poszczególnych elementów krotki, niszcząc ją za pomocą dopasowywania wzorców lub bezpośrednio uzyskując dostęp do poszczególnych elementów za pomocą składni kropki (.) i indeksu.

Oto jak uzyskać dostęp do poszczególnych elementów struktury za pomocą dopasowywania wzorców:

pozwalać moja_krotka = (10, "Witaj świecie!", FAŁSZ);

pozwalać (x, y, z) = moja_krotka;

println!(„Pierwszy element to: {}”, X);
println!(„Drugi element to: {}”, y);
println!(„Trzeci element to: {}”, z);

Oto jak uzyskać dostęp do poszczególnych elementów za pomocą notacji kropkowej:

pozwalać moja_krotka = (10, "Witaj świecie!", FAŁSZ);

println!("ThePierwszyelementJest: {}", moja_krotka.0);
println!("ThedrugielementJest: {}", moja_krotka.1);
println!("ThetrzecielementJest: {}", moja_krotka.2);

Krotki są bardzo przydatne podczas grupowania powiązanych danych w jedną wartość. Mogą również poprawić czytelność kodu, jeśli używasz ich oszczędnie.

Tablice w Rust

Tablica to zbiór elementów tego samego typu o ustalonej długości. Tablice Rust są zapisywane jako lista wartości ujętych w nawiasy kwadratowe, oddzielonych przecinkami.

Oto jak możesz zadeklarować tablice w Rust:

pozwalać arr = [1, 2, 3, 4, 5];

Nie możesz zmienić liczby elementów w tablicy po jej zadeklarowaniu, ale możesz uzyskiwać dostęp do poszczególnych elementów tablicy, modyfikować je i manipulować nimi za pomocą indeksowania.

pozwalać mut moja_tablica = [1, 2, 3, 4, 5];

// Dostęp do elementów
println!("ThePierwszyelementJest: {}", moja_tablica[0]);

// Modyfikowanie elementów
moja_tablica[0] = 100;
println!("ThePierwszyelementPomodyfikacjaJest: {}", moja_tablica[0]);

// Zapętlanie tablicy i manipulowanie elementami
DoIW 0..moja_tablica.len() {
moja_tablica[i] *= 2;
}

// drukowanie tablicy
println!(„Tablica po manipulacji: {:?}”, moja_tablica);

Tablice rdzy są przechowywane na stosie i mają ciągłą alokację pamięci, więc dostęp do elementów tablicy jest szybki i wydajny. Dzięki temu tablice nadają się do sytuacji, w których trzeba przechowywać i przetwarzać wiele elementów.

Praca Z Plasterkami Rdzy

Wycinek to struktura danych, która umożliwia odwoływanie się do ciągłej sekwencji elementów w kolekcji. Plasterki są reprezentowane przez &[T] type, gdzie T jest typem elementów przechowywanych w plasterku.

przyp główny(){
// zadeklaruj tablicę
pozwalać moja_tablica = [1, 2, 3, 4, 5];

// utwórz wycinek z tablicy
pozwalać mój_plaster = &moja_tablica[1..3];

// wydrukuj wycinek
println!("Plasterek: {:?}", mój_plasterek);
}

Zwróć uwagę, jak składnia zakresu, .., wyodrębnia wycinek z tablicy przy użyciu indeksu początkowego i indeksu o jeden większego niż koniec:

Plastry są dynamiczne, więc Rust może określić ich długość w czasie wykonywania. Możesz także przekazywać wycinki jako argumenty do funkcji bez potrzeby alokacji sterty.

Wycinków będziesz często używać do operacji na łańcuchach i do przekazywania podzbiorów danych do funkcji. Są potężnym i wydajnym narzędziem do zarządzania kolekcjami w Rust, zapewniając bardziej elastyczną alternatywę dla tablic.

Możesz tworzyć frontendowe aplikacje internetowe oparte na WebAssembly w Rust

Znajomość typów danych jest kluczowa w Twojej podróży z Rust, ponieważ będziesz ich używać do większości operacji podczas tworzenia aplikacji.

WebAssembly to format binarny niskiego poziomu, który działa w nowoczesnych przeglądarkach internetowych i zapewnia niemal natywną wydajność. Pozwala pisać kod w wielu różnych językach i transponować go do WebAssembly.

WebAssembly zyskuje popularność dzięki Rust. Istnieje wiele frameworków, takich jak Yew, Sycamore i Seed, których można użyć do zbudowania nakładek opartych na WebAssembly za pomocą Rust.