目录

Rust 基础类型与模式匹配

Rust 的类型系统很务实:标量类型够用,复合类型灵活,而 enum + match 是它表达「多种可能」的利器。

标量类型

let i: i32 = -10;        // 有符号整数
let u: u8 = 255;         // 无符号(0~255)
let f: f64 = 3.14;       // 浮点
let b: bool = true;      // 布尔
let c: char = 'R';       // 字符(Unicode,4 字节)

复合类型

let tup: (i32, f64, char) = (500, 6.4, 'z'); // 元组
let (a, _b, c) = tup;                         // 解构
let arr = [1, 2, 3, 4, 5];                    // 数组(定长)
let first = arr[0];

枚举 enum

枚举把「一组相关的可能值」打包:

enum Message {
    Quit,
    Move { x: i32, y: i32 },
    Write(String),
}

模式匹配 match

match 穷尽处理每种情况,编译器强制你覆盖全部分支:

fn handle(msg: Message) {
    match msg {
        Message::Quit => println!("退出"),
        Message::Move { x, y } => println!("移动到 {},{}", x, y),
        Message::Write(text) => println!("文本: {}", text),
    }
}

if let 是只关心一种情况的简写:

if let Message::Write(t) = msg {
    println!("只处理写消息: {}", t);
}

小结

  • 元组/数组是轻量复合类型;要变长用 Vec(下章提)。
  • enum 比别的语言更强大,可携带数据。
  • match 穷尽匹配,少写分支编译器不答应。

➡️ 4. 结构体、方法与错误处理