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;
}