简介

元组可以由多种类型组成,长度固定。

创建元组

// 固定类型
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

更多推荐