Rust 变量默认是不可变的(immutable),这是 Rust 安全性和简单并发的设计基础之一。
let 关键字声明变量:let x = 5;mut 关键字使变量可变:let mut x = 5;const 关键字声明:const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;mut 修饰可以使用同一个变量名重新声明变量:let x = 5; let x = x + 1;
遮蔽与
mut
的区别:
let 关键字,否则会编译错误mut 不允许Rust 是静态类型语言,必须在编译时知道所有变量的类型。
i8, i16, i32, i64, i128, isizeu8, u16, u32, u64, u128, usizei3298_2220xff0o770b1111_0000b'A'f32:32 位浮点数(单精度)f64:64 位浮点数(双精度,默认类型)bool 类型:值为 true 或 falsechar 类型:使用单引号声明,如 'z'let tup: (i32, f64, u8) = (500, 6.4, 1);let (x, y, z) = tup;let five_hundred = x.0;(),表示空值/无返回值let a = [1, 2, 3, 4, 5];let a: [i32; 5] = [1, 2, 3, 4, 5];let a = [3; 5]; 等同于 [3, 3, 3, 3, 3]let first = a[0];函数在 Rust 中非常普遍,使用 fn 关键字声明。
命名风格:snake_case(全小写,使用下划线分隔单词)
基本语法:
fn function_name(parameter1: Type1, parameter2: Type2) -> ReturnType { // 函数体}
let y = 6;5 + 6{} 也是表达式-> 后接类型来声明返回类型return 关键字提前返回Rust 支持多种注释形式:
// 从注释开始到行尾let lucky_number = 7; // I'm feeling lucky today// if condition { // code} else { // code}
条件必须是 bool 类型
可使用 else if 处理多重条件
if 是表达式,可用于赋值:let number = if condition { 5 } else { 6 };
所有分支的返回值类型必须相同
Rust 提供三种循环:
loop { // code}
使用 break 退出循环
使用 continue 跳过当前迭代
可以返回值:let result = loop { if condition { break value; } };
循环标签:通过 'label: loop {} 命名循环,并使用 break 'label; 退出特定循环
while condition { // code}
for element in collection { // code}
相比 while 更安全、更简洁
可以与 Range 一起使用:for number in 1..4 {}
可以反转 Range:for number in (1..4).rev() {}
Rust 鼓励开发者采用一些最佳实践,如默认不可变变量、强类型检查、表达式为主的语法等,这些都有助于编写更安全、更可靠的代码。
好好学习,天天向上