sorotan utama:
async/await
rustc
, mengintegrasikan dengan lancar dengan NPM dan Webpack. wasm-pack
wasm-bindgen
Walaupun secara konseptual berbeza dari JavaScript, karat berkongsi persamaan yang mengejutkan.
Persamaan:
Kedua -dua bahasa menampilkan pengurusan pakej moden: NPM untuk JavaScript dan Cargo for Rust (menggunakan
bukan). Penciptaan Projek (Cargo.toml
package.json
cargo init
JavaScript: cargo run
Rust:
let staff = [ {name: "George", money: 0}, {name: "Lea", money: 500000}, ]; let salary = 1000; staff.forEach( (employee) => { employee.money += salary; } );
pemusnahan objek juga mendapati selari:
let salary = 1000; staff.iter_mut().for_each( |employee| { employee.money += salary; } );
Rust:
let point = { x: 5, y: 10 }; let {x,y} = point;
(perhatikan jenis eksplisit dalam karat). Ciri -ciri yang dikongsi bersama termasuk
, penciptaan array mudah (let point = Point { x: 5, y: 10 }; let Point { x, y } = point;
Point
async/await
Perbezaan: let array = [1,2,3];
sifat yang disusun Rust (menggunakan rustc
) berbeza dengan pelaksanaan ditafsirkan JavaScript, yang umumnya mengakibatkan prestasi unggul. Kargo mengendalikan kompilasi, manakala Webpack mengintegrasikan proses ini dengan perintah NPM run build
.
Kuat Kuat Kuat Menguatkuasakan Pencocokan Jenis Pada Masa Penyusunan, Mencegah Kesalahan Runtime -Similar to TypeScript. Ketat ini, sementara pada mulanya mencabar, menyumbang kepada kod yang lebih bersih dan lebih dipercayai.
Pencocokan corak Rust (match
) menawarkan alternatif yang lebih elegan untuk rantai if-else if
yang panjang:
javascript (if-else if):
let staff = [ {name: "George", money: 0}, {name: "Lea", money: 500000}, ]; let salary = 1000; staff.forEach( (employee) => { employee.money += salary; } );
karat (padanan):
let salary = 1000; staff.iter_mut().for_each( |employee| { employee.money += salary; } );
Bermula dengan karat
mari kita bina "Hello, World!" Permohonan dalam karat untuk penyemak imbas.
Alat:
rustc
. Sahkan pemasangan dengan rustup
dan cargo --version
. rustup --version
wasm-pack
). wasm-pack --version
Kod karat (lib.rs
let point = { x: 5, y: 10 }; let {x,y} = point;
[dependencies]
dan tambahkan ini ke bahagian
let point = Point { x: 5, y: 10 }; let Point { x, y } = point;
[lib]
disusun dengan
if ( x == 1) { // ... } else if ( x == 2 ) { // ... } else if ( x == 3 || x == 4 ) { // ... } // ...
wasm-pack build
JavaScript Integration (
index.js
Sediakan Webpack (menggunakan ) seperti yang diterangkan dalam artikel asal. Running
match x { 1 => { /* Do something if x == 1 */}, 2 => { /* Do something if x == 2 */}, 3 | 4 => { /* Do something if x == 3 || x == 4 */}, 5...10 => { /* Do something if x >= 5 && x <= 10 */}, _ => { /* Catch all other cases */ } }
wasm-pack-plugin
(Selebihnya respons akan terus memrasiikan bahagian -bahagian input yang tersisa, termasuk contoh simulator jangkitan Corona, hasil penanda aras, kesimpulan, sumber selanjutnya, dan Soalan Lazim, mengekalkan struktur dan penempatan imej yang sama.) npm run serve
Atas ialah kandungan terperinci Tutorial Rust: Pengenalan kepada Rust untuk JavaScript Devs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!