Skip to content
On this page

原生类型5: exercises/primitive_types/primitive_types5.rs

题目

rust
// primitive_types5.rs
//
// Destructure the `cat` tuple so that the println will work.
//
// Execute `rustlings hint primitive_types5` or use the `hint` watch subcommand
// for a hint.

// I AM NOT DONE

fn main() {
    let cat = ("Furry McFurson", 3.5);
    let /* your pattern here */ = cat;

    println!("{} is {} years old.", name, age);
}

解构cat元组,以便println能够正常工作。

题目解析

这里主要是要将cat元组内的两个元素解构出来,分别赋值给nameage

当然可以用let name = cat.0; let age = cat.1;,但是题目中只给了一行,我们用解构一行就可以搞定了。

rust
fn main() {
    let cat = ("Furry McFurson", 3.5);
    let /* your pattern here */ = cat; 
    let (name, age) = cat; 

    println!("{} is {} years old.", name, age);
}

笔记

  • 元组是一个将多个其他类型的值组合进一个复合类型的主要方式。
  • 元组长度固定:一旦声明,其长度不会增大或缩小。
  • 我们使用包含在圆括号中的逗号分隔的值列表来创建一个元组 : let tup: (i32, f64, u8) = (500, 6.4, 1);
  • 我们也可以对元组进行解构:let tup = (500, 6.4, 1); let (x, y, z) = tup;

参考资料

Powered by VitePress