跳到主要内容

基础语法

本文介绍 Rust 的基础语法要点,作为后续所有权、生命周期等概念的铺垫。

变量与可变性

Rust 默认使用 let 声明的变量不可变。需要修改时需显式添加 mut 关键字。const 声明常量,必须标注类型且不能为 mut

let x = 5; // 不可变
let mut y = 10; // 可变
y += 1;
const MAX: u32 = 100_000; // 常量,类型必须标注

标量与复合类型

标量类型包括整型(i32u64 等)、浮点(f64)、布尔(bool)与字符(char,占 4 字节表示 Unicode)。复合类型主要有两个:元组(tuple)和数组(array),后者长度固定。

let tup: (i32, f64, u8) = (500, 6.4, 1);
let arr: [i32; 3] = [1, 2, 3];

函数与控制流

函数使用 fn 声明,返回值通过箭头 -> 标注,且最后一行(无分号)即为返回值。控制流包含 if 表达式、loopwhile 与模式匹配的 match,它们都可以返回值,常用于简化赋值逻辑。

fn classify(n: i32) -> &'static str {
if n < 0 { "neg" } else { "non-neg" }
}

所有权入门提示

Rust 的核心机制是所有权(ownership):每个值有且仅有一个所有者,离开作用域时立即释放。let s = String::from("hi"); let t = s; 之后 s 不再可用,这一移动(move)语义能避免二次释放错误。详细规则见所有权章节。