Rust and Go в сравнение - LinuxCommunity

Съвременни методи
Сравнително младите програмни езици Rust and Go се противопоставят на утвърдените си колеги с подобни концепции и слаб синтаксис. Показваме къде двамата отбелязват на практика.
Разработчикът Graydon Hoare започва работа по нов програмен език през 2006 г. Наред с други неща, написаният в него софтуер трябва да работи възможно най-бързо и програмистите да бъдат освободени от управлението на паметта, склонно към грешки. Фондацията Mozilla призна потенциала на езика, наречен Rust, и пое управлението на проекта три години по-късно. Първата стабилна версия обаче беше пусната едва след няколко ревизии през май 2015 г. [1].
стоманена конструкция
Както при C и C ++, компилаторът превежда изходния код, написан на Rust, в родна програма. Понастоящем разработчиците се опитват да публикуват нова версия на компилатора на всеки шест седмици, която понякога носи нови функции. Следователно трябва да инсталирате ръчно текущата версия веднъж, което прави следната команда:
След това излезте веднъж и след това влезте отново. С актуализацията на rustup винаги ще поддържате инструмента актуален в бъдеще. За да изпробвате компилатора, запазете списък 1 в текстовия файл example.rs и след това настройте компилатора към него с rustc example.rs.
Програмата Rust от Листинг 1 изчислява квадратурата на апартамент. За да направите това, първо се изисква броят на стаите и след това за всяка стая ширината и дължината. За да разреши тези проблеми, Листинг 1 първо дефинира нова функция, наречена lie_number () в ред 3 с ключовата дума fn. Той иска номер и го връща.
Информацията зад стилизираната стрелка (->) разкрива кои данни връща функция. Съкращението u32 означава 32-битово цяло число без знак. Rust също предлага типове, които се основават на архитектурата. Например, номер от типа usize е само 64-битово число на 64-битови системи.
Функцията lie_zahl () не се нуждае от допълнителна информация за работата си. Ако случаят е такъв с функция, обърнете внимание на параметрите в кръгли скоби с типа след името на променливата:
Функцията lie_zahl () създава входната променлива в ред 4, използвайки две специалности Rust. Създавате променливи в Rust с ключовата дума let, като типът на променливата обикновено идва след името на променливата. В следващия пример два ще съхраняват 2 в новата променлива:
Нямате право обаче да променяте променливата, създадена по този начин (тя е неизменна. Присвояването на two = 3; би довело до грешка по време на компилацията. Ключовата дума mut променя това. Това прави променливата променлива ), с което работи присвояването на ново съдържание. Можете да пропуснете типа на променливата, ако компилаторът е в състояние да я изведе недвусмислено.
Листинг 1 използва тази автоматична система: Тя извиква функцията String: new (), която връща празен низ. Двете двоеточия показват, че new () е така наречената асоциирана функция от типа низови данни - в други програмни езици те се наричаха статични методи. Тъй като е ясно, че входът съдържа низ, не е необходимо да се посочва типа при дефинирането на променливата.
Листинг 1 взема входа в ред 5. Това се прави удобно от функция, доставена от стандартната библиотека. Функциите, които съдържа, са разделени на така наречените модули. Обикновено поставяте името на модула пред извикването на функцията:
Чрез използване std: io; В самото начало на Листинг 1 обаче в този случай не е необходимо да указвате съответния модул и да извиквате директно io: stdin ().
Оформете вериги
Предоставените типове данни имат няколко полезни функции. Например, всяко цяло число предлага функцията pow (), която можете да използвате, за да формирате мощността: