Day 6:迴圈(loop / while / for)
學習目標
- 熟練 loop / while / for 三種迴圈
- 理解 loop 可以回傳值
- 用 break、continue 控制流程
今日重點
loop(無限迴圈,可回傳值)
let mut count = 0;
let result = loop {
count += 1;
if count == 10 {
break count * 2; // break 可以帶回傳值
}
};
println!("Result: {}", result); // 20
while
let mut n = 1;
while n < 1000 {
n *= 2;
}
println!("n = {}", n); // 1024
for 搭配範圍
for i in 0..5 { // 0,1,2,3,4
println!("i = {}", i);
}
for i in 0..=5 { // 0,1,2,3,4,5(含 5)
println!("i = {}", i);
}
迭代集合
let numbers = vec![1, 2, 3, 4, 5];
for number in &numbers {
println!("Number: {}", number);
}
練習
fn main() {
// 1. 用 for 算出 1..=100 的總和
// 2. 用 loop 找出第一個大於 100 的平方數
// 3. 用 while 印出 10 到 1 倒數
let sum: i32 = (1..=100).sum();
println!("Sum 1..100 = {}", sum);
}
自我檢查