【Rust】结构体匹配

环境

  • Rust 1.56.1
  • VSCode 1.61.2

概念

参考:https://doc.rust-lang.org/stable/rust-by-example/flow_control/match/destructuring/destructure_structures.html

示例

结构体匹配解构

fn main() {
    struct Foo {
        x: (u32, u32),
        y: u32,
    }

    let foo = Foo { x: (1, 2), y: 3 };
    // 匹配结构体
    match foo {
        Foo { x: (1, b), y } => println!("First of x is 1, b = {},  y = {} ", b, y),

        // // 解构结构体,属性的顺序不重要
        Foo { y: 2, x: i } => println!("y is 2, i = {:?}", i),

        // 使用 .. 可以忽略剩下的属性
        Foo { y, .. } => println!("y = {}, we don't care about x", y),
        // 如果缺少属性,会有编译错误
        //Foo { y } => println!("y = {}", y),
    }
}

总结

了解了 Rust 中的结构体的匹配和解构。

附录

posted @   jiangbo4444  阅读(134)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2019-11-30 spring-boot 环境搭建(一)
点击右上角即可分享
微信分享提示