Rust 有两个原生的复合类型:元组(tuple)和数组(array)。


    元组类型
    元组长度固定:一旦声明,其长度不会增大或缩小。
    元组中的每一个位置都有一个类型,而且这些不同值的类型也不必是相同的。

    1. let tup: (i32, f64, u8) = (500, 6.4, 1);
    2. // 解构
    3. let tup = (500, 6.4, 1);
    4. let (x, y, z) = tup;
    5. println!("The value of y is: {}", y);

    使用点号(.)后跟值的索引来直接访问它们

    1. let x: (i32, f64, u8) = (500, 6.4, 1);
    2. let five_hundred = x.0;
    3. let six_point_four = x.1;
    4. let one = x.2;

    数组类型

    数组中的每个元素的类型必须相同。
    Rust 中的数组是固定长度的:一旦声明,它们的长度不能增长或缩小。

    1. let a = [1, 2, 3, 4, 5];
    2. let months = ["January", "February", "March", "April", "May", "June", "July",
    3. "August", "September", "October", "November", "December"];
    4. // i32 是每个元素的类型。分号之后,数字 5 表明该数组包含五个元素
    5. let a: [i32; 5] = [1, 2, 3, 4, 5];
    6. // 每个元素都相同的数组,可以在中括号内指定其初始值,后跟分号,再后跟数组的长度
    7. let a = [3; 5];
    8. let a = [3, 3, 3, 3, 3]
    9. // 访问数组
    10. let a = [1, 2, 3, 4, 5];
    11. let first = a[0];
    12. let second = a[1];