/* ===== 模块5:复合类型 ===== * test08_arrays — 数组 * 难度:2/5 * 验证点:数组字面量 [N]T{...}、数组索引、数组元素修改 */ fn main() i32 { /* 数组字面量 */ var arr: [3]i32 = [3]i32{1, 2, 3}; if arr[0] != 1 { ret 1; } if arr[1] != 2 { ret 2; } if arr[2] != 3 { ret 3; } /* 数组元素修改 */ arr[1] = 99; if arr[1] != 99 { ret 4; } /* 数组求和 */ var nums: [5]i32 = [5]i32{10, 20, 30, 40, 50}; var sum: i32 = 0; sum = sum + nums[0]; sum = sum + nums[1]; sum = sum + nums[2]; sum = sum + nums[3]; sum = sum + nums[4]; if sum != 150 { ret 5; } /* 数组通过循环访问(while) */ var vals: [4]i32 = [4]i32{2, 4, 6, 8}; var i: i32 = 0; var s: i32 = 0; while i < 4 { s = s + vals[i]; i = i + 1; } if s != 20 { ret 6; } /* 多维效果:数组元素为数组 */ /* 目前只测试一维 */ ret 0; }