Rust 基本语法:

变量绑定

Rust一个明显的特征是默认变量是绑定切不可修改的:

1
2
3
fn main(){
let x = 5;
}

let被用来声明一个绑定,x于数值5绑定起来

模式

Rust的let比一般语言的声明前缀更加强大,它的左边可以是一个模式

1
let (x,y) = (1,2);

类型注解

Rust依然是静态类型语言,意味着任何声明的类型在编译期就应该明确,之前我们并没有加类型声明是因为Rust有类型推断的功能。

1
let x: i32 = 5;

完整的Rust system type可以在这里找到

可变性

Rust绑定默认是不可变的,这有别于传统的C++/python之类的语言,如果我们声明了一个绑定并在之后试图修改:

1
2
let x = 5;
x = 10;

编译器就会报错。这个feature确保了Rust的安全性。如果我们希望声明一个可修改的变量,需要使用mut关键字:

1
2
let mut x = 5;
x = 10;

这个feature看起来有点像C++里的const,但它比const更加安全,在C++中如果我们声明了一个const对象,直接对其修改时会报错的,这是const的性质所决定的。但是如果我们声明了一个non-const指针并将其指向这个const值,我们便可以通过修改指针来改变这个const value. 这是一个C++常见但不太好debug的bug.