Skip to content

tuple

元组是由多种类型组合到一起形成的,因此它是复合类型,元组的长度是固定的,元组中元素的顺序也是固定的。

可以通过以下语法创建一个元组:

rust
fn main() {
    let tup: (i32, f64, u8) = (500, 6.4, 1);
}

变量tup被绑定了一个元组值(500, 6.4, 1),该元组的类型是(i32, f64, u8),元组是用括号多个类型组合到一起,简单吧?

可以使用模式匹配或者.操作符来获取元组中的值。

用模式匹配解构元组

rust
fn main() {
    let tup = (500, 6.4, 1);
    let (x, y, z) = tup;
    println!("The value of y is: {}", y);
}

上述代码首先创建一个元组,然后将其绑定到tup上,接着使用let (x, y, z) = tup;来完成一次模式匹配,因为元组是(n1, n2, n3)形式的,因此我们用一模一样的(x, y, z)形式来进行匹配,元组中对应的值会绑定到变量 x, y, z上。这就是解构:用同样的形式把一个复杂对象中的值匹配出来。

用 . 来访问元组

模式匹配可以让我们一次性把元组中的值全部或者部分获取出来,如果只想要访问某个特定元素,那模式匹配就略显繁琐,对此Rust提供了.的访问方式:

rust
fn main() {
    let x: (i32, f64, u8) = (500, 6.4, 1);

    let five_hundred = x.0;

    let six_point_four = x.1;

    let one = x.2;
}

Released under the MIT License.