Rust 基本语法:
变量绑定
Rust一个明显的特征是默认变量是绑定切不可修改的:1
2
3fn 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
2let x = 5;
x = 10;
编译器就会报错。这个feature确保了Rust的安全性。如果我们希望声明一个可修改的变量,需要使用mut
关键字:1
2let mut x = 5;
x = 10;
这个feature看起来有点像C++里的const
,但它比const
更加安全,在C++中如果我们声明了一个const对象,直接对其修改时会报错的,这是const的性质所决定的。但是如果我们声明了一个non-const指针并将其指向这个const值,我们便可以通过修改指针来改变这个const value. 这是一个C++常见但不太好debug的bug.