Руст је статички откуцани савремени програмски језик дизајниран за перформансе, поузданост и сигурност. Као иу другим језицима са статичким типовима, Руст типове података декларишете у време компајлирања. Ово олакшава хватање грешака у типу пре него што покренете свој код.
Руст нуди скаларне, сложене, референтне типове, структуре, енуме и стрингове. Његово закључивање типа пружа функционалност за писање сажетог кода уз одржавање безбедности статички откуцаног језика.
Интегерс ин Руст
Руст обезбеђује типове целих бројева са знаком и без предзнака класификоване на основу броја битова. Предписани цели бројеви су и8, и16, и32, и и64 који представљају 8-битне, 16-битне, 32-битне и 64-битне предписане целе бројеве, респективно. Такође подржава неозначене типове целих бројева су у8, у16, у32, и у64, који представља 8-битне, 16-битне, 32-битне и 64-битне неозначене целе бројеве.
// цели бројеви са предзнаком
дозволити а: и8 = -10;
дозволити б: и16 = -2048;
дозволити ц: и32 = -2147483648;
дозволити д: и64 = -9223372036854775808;
// цели бројеви без предзнака
дозволити е: у8 = 255;
дозволити ф: у16 = 65535;
дозволити г: у32 = 4294967295;
дозволити х: у64 = 18446744073709551615;
Руст користи и32 подразумевано тип за целобројне литерале.
Руст Типови са плутајућим зарезом
Руст пружа ф32 и ф64 као типови са помичним зарезом који представљају бројеве са покретним зарезом једноструке и двоструке прецизности. Тхе ф32 тип користи 32 бита за чување вредности, а ф64 тип користи 64 бита.
Бројеви с помичним зарезом у Русту прате ИЕЕЕ 754 стандард за аритметику с помичним зарезом.
дозволити а = 3.14159265358979323_ф32;
дозволити б = 2.718281828459045235_ф64;
Коришћење Руст Боолеанса
Руст пружа а боол тип за представљање истина или лажно вредности. Боолеан се често користи у наредбама условних и контролних токова за доношење програмских одлука.
дозволити променљива_1: боол = истина;
дозволити променљива_2: боол = лажно;
Можете упоредити логичке вредности са оператором једнакости, ==, и оператор неједнакости, !=. Руст не дефинише операторе поређења, , <=, и >=, за боол вредности.
дозволити променљива_1: боол = истина;
дозволити променљива_2: боол = лажно;
ако променљива_1 == променљива_2 {
принтлн!(„променљива_1 је једнака променљивој_2“);
} другоако променљива_1 != променљива_2 {
принтлн!(„променљива_1 није једнака променљивој_2“);
}
Цхар Типе
Тхе Руст цхар тип представља једну Уницоде скаларну вредност која може представљати било који знак у стандард Уницоде. Можете одредити а цхар вредност помоћу једноструких наводника.
// Декларисање вредности цхар
дозволити ц = 'а';
Тхе цхар тип је користан за рад са емоџијима у Русту.
Туплес ин Руст
Структура података тупле вам омогућава да групишете више од једне вредности у једну сложену вредност. Ове вредности могу имати исти тип или различите типове. Можете декларисати тупле тако што ћете их написати као листу вредности раздвојених зарезима окружену заградама.
Ево како можете да декларишете тупле са 32-битним целим бројевима, стринговима и вредностима флоат64.
дозволити туп: (и32, &стр, ф64) = (500, "Здраво", 3.14);
Торке имају фиксну дужину и можете их користити да вратите више вредности из функције или да пренесете више вредности функцијама као један аргумент.
Можете приступити појединачним елементима торке тако што ћете је деструктурирати помоћу подударања шаблона или директно приступити појединачним елементима помоћу синтаксе тачке (.) и индекса.
Ево како можете да приступите појединачним елементима структуре користећи подударање шаблона:
дозволити ми_тупле = (10, "Здраво Свете!", лажно);
дозволити (к, и, з) = ми_тупле;
принтлн!(„Први елемент је: {}“, Икс);
принтлн!(„Други елемент је: {}“, и);
принтлн!(„Трећи елемент је: {}“, з);
Ево како можете да приступите појединачним елементима користећи тачку:
дозволити ми_тупле = (10, "Здраво Свете!", лажно);
принтлн!("Тхепрвиелементје: {}", ми_тупле.0);
принтлн!("Тхедругоелементје: {}", ми_тупле.1);
принтлн!("Тхетрећиелементје: {}", ми_тупле.2);
Торке су веома корисне када групишете повезане податке у једну вредност. Они такође могу побољшати читљивост вашег кода ако их користите штедљиво.
Низови у Русту
Низ је колекција елемената истог типа са фиксном дужином. Руст низове пишете као листу вредности у угластим заградама, раздвојене зарезима.
Ево како можете декларисати низове у Русту:
дозволити арр = [1, 2, 3, 4, 5];
Не можете да промените број елемената у низу након што га декларишете, али можете приступити, модификовати и манипулисати појединачним елементима низа користећи индексирање.
дозволити мут ми_арраи = [1, 2, 3, 4, 5];
// Приступ елементима
принтлн!("Тхепрвиелементје: {}", ми_арраи[0]);// Модификовање елемената
ми_арраи[0] = 100;
принтлн!("Тхепрвиелементпослемодификацијаје: {}", ми_арраи[0]);// Прелазак низа и манипулација елементима
заиин 0..ми_арраи.лен() {
ми_арраи[и] *= 2;
}
// штампање низа
принтлн!(„Низ после манипулације: {:?}“, ми_арраи);
Руст низови су похрањене на стогу и имају непрекидну алокацију меморије, тако да је приступ елементима низа брз и ефикасан. Ово чини низове погодним за ситуације у којима треба да складиштите и обрађујете много елемената.
Рад са комадима рђе
Исечак је структура података која омогућава референцирање непрекидног низа елемената у колекцији. Слице су представљене &[Т] тип, где је Т тип елемената ускладиштених у пресеку.
фн главни(){
// декларишемо низ
дозволити мој_низ = [1, 2, 3, 4, 5];// креирамо исечак из низа
дозволити мој_слице = &мој_низ[1..3];
// штампање исечка
принтлн!(„Слице: {:?}“, ми_слице);
}
Обратите пажњу на синтаксу опсега, .., издваја исечак из низа користећи почетни индекс и индекс који је већи од краја:
Исечци су динамични, тако да Руст може да одреди њихову дужину током рада. Такође можете проследити исечке као аргументе функцијама без потребе за алокацијом гомиле.
Обично ћете користити исечке за операције са стринговима и за прослеђивање подскупова података функцијама. Они су моћан и ефикасан алат за управљање колекцијама у Русту, пружајући флексибилнију алтернативу низовима.
Можете да направите фронтенд веб апликације које покреће ВебАссембли у Русту
Познавање типова података је кључно за ваше Руст путовање јер ћете их користити за већину операција током изградње апликација.
ВебАссембли је бинарни формат ниског нивоа који ради на модерним веб прегледачима, са перформансама скоро изворним. Омогућава вам да пишете код на много различитих језика и да га транспилирате у ВебАссембли.
ВебАссембли добија усвајање кроз Руст. Постоји много оквира као што су Иев, Сицаморе и Сеед које можете да користите за прављење фронтендова са Рустом који покреће ВебАссембли.