关于前端:给前端的-Rust-入门教程

36次阅读

共计 1162 个字符,预计需要花费 3 分钟才能阅读完成。

入门

装置 Rust

在 linux 和 mac 上装置 rustup

$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

装置胜利会显示

Rust is installed now. Great!

在 Windows 上装置 rustup

数据类型

字符

Javascript

const str = "hello";
const string = String("hello");

// 字符合并
const longString = "a" + "b";

Rust

/// 字符串
let str = "hello";
let string = String::from("hello");

/// 字符
let ch = 'h';

// 字符转换成字符串
let str1 = ch.to_string().as_str();

// 字符合并
let long_string = String::from("a").push('b');

数字

javascript 只有 number 类型,number 类型不辨别浮点数和整型。

typeof NaN === 'number'

Rust 辨别了有符号数,浮点数和整数。

数组

Javascript

const array = [];
array.push(1);

const len_array = [1, 2, 3];
const a = len_array[0];

Rust

let array = vec![];

// 此处的数组长度曾经确定
let len_array: [i32, 3] = [1, 2, 3]
let a = len_array[0];

对象

Rust 利用 struct 来实现类,用

赋值

Javascript

let word = 'a';
word = 'b';

Rust

let mut word = 'a';
word = 'b';

所有权

String 中的应用中

let s1 = String::from("hello");
let s2 = s1;
// error
println!("{}, world!", s1);

能够通过 clone 和援用指针来解决。

所有权的概念是为了解决 二次开释 (double free)的谬误

流程管制

循环和条件判断

Javascript

while(let ch = next()) {if (ch === '\n' || ch === '\r' || (true && true)) {break;} else if (ch === '\t') {// do something} else {// do something}
}

Rust

loop {let ch = next()
    if ch == '\n' || ch == '\r' || (true && true) {break;} else if ch === '\t' {// do something} else {// do something}
}

三目运算

Javascript

const a = true ? 1 : 2;

Rust

let a = if true {1} else {2}

工程化

cargo

Read me

正文完
 0