Appearance
原生类型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
元组内的两个元素解构出来,分别赋值给name
和age
。
当然可以用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;