Rust Note(6)_loop for while

Rust 迴圈

迴圈有以下 3 種類型 :

  • loop : 無限迴圈, 可藉由 break & continue 來設定中斷點
  • while : 在有效的條件裡, 迴圈!
  • for…in range : 在設定的條件範圍內, 迴圈!

loop [無限迴圈]


1
2
3
4
5
6
7
8
9
fn main() {
let mut i: i64 = 0;
loop {
println!("{}",i);
i = i + 1;
}
}

// output : 1,2,3........until Ctrl+C inerrupt

Working Flow:

  1. 指定一個可變變數 i, mut 可變的
  2. 使用 loop
  3. 印出 i, 從 0 開始
  4. 結束一個循環後, i + 1
  5. 無限循環

在還沒有按下 Ctrl + C 前, 你會看到電腦努力的幫你執行一個無限迴圈!!

使用 [break] 來中斷 loop 迴圈

1
2
3
4
5
6
7
8
9
10
11
fn main() {
let mut i: i64 = 0;
loop {
println!("{}",i);
i = i + 1;
if i > 10 {
break;
}
}
}
// output : 0~10

Working Flow:

  1. 指定一個可變變數 i, mut 可變的
  2. 使用 loop
  3. 印出 i, 從 0 開始
  4. 結束一個循環後, i + 1
  5. 當 i 累進到 > 10, 就停止迴圈

使用 [continue] 讓 loop 繼續無腦迴圈

1
2
3
4
5
6
7
8
9
10
11
12
13
fn main() {
let mut i: i64 = 0;
loop {
println!("{}",i);
i = i + 1;
if i == 10 {
break;
} else {
continue;
}
}
}
// output : 0~9

Working Flow:

  1. 指定一個可變變數 i, mut 可變的
  2. 使用 loop
  3. 印出 i, 從 0 開始
  4. 結束一個循環後, i + 1
  5. 當 i 累進到 == 10, 就停止迴圈
  6. 否則 continue
    P.S : 搭配 if else

while [條件式迴圈]


1
2
3
4
5
6
7
8
fn main() {
let mut i:i64 = 0;
while i < 10 {
i = i + 1;
println!("{}", i);
}
}
// output : 0~10

Working Flow:

  1. 指定一個可變變數 i, mut 可變的
  2. 使用 while loop
  3. 印出 i, 從 0 開始
  4. 結束一個循環後, i + 1
  5. 當 i 累進到 < 10, 就停止迴圈
  6. while 後面接 condition 條件.

當滿足條件, 就停止迴圈.

for in [範圍式迴圈]


1
2
3
4
5
6
fn main() {
for i in 0..10 {
println!("{}", i)
}
}
// output : 0~9

Working Flow:

  1. 使用 while loop
  2. 印出 i, 從 0 開始, 結束是 9 (包含左邊, 不包含右邊邊界)

當完成 range 裡面的次數, 就停止退出迴圈.


Rust_Note_20211025_1.1