Rust基础语法
Rust 基础语法
1. 变量和可变性
变量声明
Rust 中变量默认是不可变的。使用 let 声明变量,使用 mut 修饰符使其可变。
1 | |
常量
常量使用 const 声明,必须指定类型,且不能使用 mut。
1 | |
变量遮蔽(Shadowing)
可以用同名变量遮蔽前一个变量,这与 mut 修饰不同。
1 | |
2. 数据类型
标量类型
整数类型
| 长度 | 有符号 | 无符号 |
|---|---|---|
| 8-bit | i8 | u8 |
| 16-bit | i16 | u16 |
| 32-bit | i32 | u32 |
| 64-bit | i64 | u64 |
| 128-bit | i128 | u128 |
| arch | isize | usize |
1 | |
浮点类型
1 | |
布尔类型
1 | |
字符类型
1 | |
复合类型
元组(Tuple)
1 | |
数组(Array)
1 | |
3. 函数
函数声明
1 | |
语句与表达式
语句:执行操作但不返回值,以分号结尾。
表达式:计算并返回结果,不以分号结尾。
1 | |
4. 所有权系统(Ownership)
所有权是 Rust 最独特的特性,它在编译时保证内存安全。
所有权规则
- Rust 中每个值都有一个所有权者。
- 一个值在同一时刻只能有一个所有权者。
- 当所有权者离开作用域时,值被释放。
1 | |
克隆(Clone)
1 | |
5. 借用(References)
使用引用 & 借用值,而非转移所有权。
不可变借用
1 | |
可变借用
1 | |
借用规则
- 在任何时候,你要么拥有一个可变引用,要么拥有任意数量的不可变引用。
- 引用必须总是有效的。
6. 字符串
String vs &str
1 | |
字符串操作
1 | |
7. 控制流
if 表达式
1 | |
循环
loop 无限循环
1 | |
while 条件循环
1 | |
for 遍历
1 | |
8. 模式匹配
match 表达式
1 | |
绑定值的模式
1 | |
9. 枚举(Enum)
1 | |
10. 结构体(Struct)
1 | |
元组结构体
1 | |
11. impl 块与方法
1 | |
12. 错误处理
panic! 宏
1 | |
Result 类型
1 | |
unwrap 和 expect
1 | |
13. 泛型
1 | |
14. Trait(特征)
1 | |
15. 生命周期
1 | |
Rust基础语法
https://yicizhang00.github.io/posts/编程语言/Rust/rust/