溫馨提示×

rust match如何處理嵌套結構

小樊
112
2024-11-20 13:45:37
欄目: 編程語言

在Rust中,match表達式可以很好地處理嵌套結構。你可以通過在匹配模式中使用元組來處理嵌套結構。下面是一個例子,展示了如何使用match處理嵌套結構:

struct Address {
    street: String,
    city: String,
}

struct Person {
    name: String,
    age: u8,
    address: Address,
}

fn main() {
    let person = Person {
        name: String::from("Alice"),
        age: 30,
        address: Address {
            street: String::from("123 Main St"),
            city: String::from("New York"),
        },
    };

    match person {
        Person { name, age, address } => {
            println!("Name: {}", name);
            println!("Age: {}", age);
            match address {
                Address { street, city } => {
                    println!("Street: {}", street);
                    println!("City: {}", city);
                }
            }
        }
        _ => println!("Unknown person"),
    }
}

在這個例子中,我們定義了兩個結構體:AddressPerson。Person結構體包含一個嵌套的Address結構體。我們在main函數中創建了一個Person實例,并使用match表達式來處理它。

在match表達式中,我們首先匹配Person結構體的字段。然后,我們使用另一個match表達式來處理嵌套的Address結構體。這樣,我們可以方便地處理嵌套結構并提取所需的字段。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女