Why Rust?

首先,Rust是一个语法简洁,但是性能很高(接近C / C++)的语言;非常适合偏底层的编程。

具体来说,Rust有着JS般简洁的语法,但是没有垃圾回收,因此性能很高;但是作为一门偏底层的语言,它又没有像C/C++中的指针这些繁琐的概念,在保证了内存安全的前提下,提供了极高的性能。

Rust基础语法

声明

在Rust中,使用let进行变量的声明。对于变量的类型声明:

不可变变量

let声明的变量,默认是不可重新赋值的:

let x = 5;     // 不可变变量
x = 6;         // ❌ 编译错误:不能修改不可变变量

可变变量

使用 mut 声明可变变量:

let mut y = 5;  // 可变变量
y = 6;          // ✅ 可以修改

常量

使用const声明常量。声明常量的时候,必须指定类型:

const PI: f64 = 3.14159;

<aside> 💡

不可变变量 vs. 常量

使用 let 声明的不可变变量有变量遮蔽的特性,同时只在声明的作用域内有效。

但是使用 const 声明的常量,作用范围是全局的,不能重新绑定同名变量。

</aside>

变量遮蔽(Shadowing)

概念

在Rust中,可以重新声明同名变量:

let x = 5;
let x = x + 1;  // ✅ 新的 x(类型可以不同)
let x = "hello"; // ✅ 类型改变

与 mut 的区别

注意,这里是需要加上 let 重新声明变量,而不是直接对于变量重新赋值。

对于可变的变量 mut ,尽管其值可以被改变,但是其类型不能被改变: