简介
元组可以由多种类型组成,长度固定。
创建元组
// 固定类型
let tup1: (i32, f64, u8) = (500, 8.8, 1);// 不固定类型
let tup2 = (500.99, 8.8, 1, 9.99);println!("{}", tup2.0);
用模式匹配解构元组
let tup = (500.99, 8.8, 1, 9.99);
let (x, y, z, e) = tup;
println!("{} {} {} {}", x, y, z, e);
访问元组
通过 .索引
访问。
println!("{}", tup2.0);
元组作为函数返回值
fn main() {let s = String::from("hello");let (s2, len) = calc_str_len(s);println!("{} {}", s2, len);
}fn calc_str_len(s: String) -> (String, usize) {let len = s.len();(s, len)
}
元组太长,无法输出
fn main() {let too_long_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);println!("too long tuple: {:?}", too_long_tuple); // ERROR
}
fn main() {let too_long_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);println!("too long tuple: {:?}", too_long_tuple); // SUCCESS
}
https://fanjuanddz.com/article/43