完整代码
fn main() {
let mut arr: [[i32; 4]; 4] = [[2, 4, 6, 8],
[1, 2, 3, 5],
[4, 5, 8, 3],
[5, 8, 9, 2]];
let row = arr.len();
println!("{}", row);
println!("-------------------遍历每一行------------------------");
for i in 0..row {
println!("{:?}", arr[i]) // 遍历得到的是每一行还是数组
}
println!("-------------------遍历每一个元素--------------------");
for i in 0..arr.len() {
for j in 0..arr[i].len() {
print!(" {} ", arr[i][j]);
}
println!(" ");
}
// 修改arr[3][3]
arr[3][3] = 0;
println!("----------------使用迭代器遍历每一个元素--------------");
for row in arr.iter(){
for col in row.iter() {
print!(" {} ", col);
}
println!("");
}
println!("--------------使用enumerate遍历每一个元素-------------");
// 跟python的enumerate一样此enumerate返回index,跟value 不需要用一个下划线"_"忽略
// rust的enumerate()跟上面的len()都是实例方法
for (row_index, row) in arr.iter().enumerate(){
for (_, col) in row.iter().enumerate() {
print!(" {} ", col);
}
println!(" 第{}行结束",row_index);
}
}