![9bd1dc7e984cd05ac18c4e779909f9c1.png](https://i-blog.csdnimg.cn/blog_migrate/95704a3235b815ead1450f1dbc1f5f27.jpeg)
2.1
问:元组的定义
答:
fn main(){
let tuple_sample :(i32,i32,bool) = (12,14,false);
println!("{},{},{}",tuple_sample.0,tuple_sample.1,tuple_sample.2);
}
元组(tuple)读取类似数组,通过下标的形式,用.符号读取。 赋值的时候,需要按照数据类型,按顺序赋值。
2.2
问:如何使用模式匹配解构元组
答:
fn main(){
let tuple_sample :(i32,i32,bool) = (12,14,false);
let x:(i32,i32,bool) = tuple_sample;
println!("{}",x.0);
}
进行模式解构,元组的内部数据解构需一致。
2.3
问:数组与vector的区别?
答: 已知集合内部数据类型和长度,并且不需要动态增长,可以使用数组array, 数组将在栈上分配空间。 如果是需要动态增加元素的集合,应当选用动态数组vector,vector将在堆上开辟内存。
fn main(){
let arr:[i32;5] = [1,2,3,4,5];
for item in arr.iter() {//迭代器
println!("{}",item);
}
}
fn main(){
let mut dynamic_arr = vec![1,2];
dynamic_arr.push(3);
println!("{}",dynamic_arr.len());
}