元组概述
- 元组是多种类型的组合,具有固定的顺序和长度。
- 元组使用圆括号定义,类型不同但长度固定。
元组定义示例
fn main() {
let tup: (i32, f64, u8) = (500, 6.4, 1);
}
用模式匹配解构元组
模式匹配解构元组示例
fn main() {
let tup = (500, 6.4, 1);
let (x, y, z) = tup;
println!("The value of y is: {}", y);
}
用 . 访问元组元素
点操作符访问元组元素示例
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;
}
元组的使用示例
元组作为函数返回值示例
fn main() {
let s1 = String::from("hello");
let (s2, len) = calculate_length(s1);
println!("The length of '{}' is {}.", s2, len);
}
fn calculate_length(s: String) -> (String, usize) {
let length = s.len();
(s, length)
}
元组的局限性
- 元组缺少清晰的含义,不适合表示结构化数据。
- 与结构体相比,元组在表达数据结构时不够明确。
总结
- 元组是多种类型的简单组合,适用于临时性的复合值。
- 模式匹配和点操作符提供了灵活的元组访问方式。
- 元组在函数返回多个值时非常有用,但不适合复杂的数据结构。